Display of two functions of device used with data processing apparatus

ABSTRACT

A data processing apparatus is configured to: receive a selection of one of a first function and a second function other than the first function; store, if one device is selected, the selected one device in correlation with the first and second functions; and control a device to execute one of the first and second functions when an instruction to execute one of the first and second functions is received. If no device is stored in correlation with the one of the first and second functions, the selected one device executes the one of the first function and the second function. If another device has been stored in correlation with the one of the first and second functions, one of candidate devices executes the one of the first and the second functions. The candidate devices include the selected one device.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.15/058,652 filed on Mar. 2, 2016, now U.S. Pat. No. 9,538,025 issued onJan. 3, 2017, which is a continuation of U.S. application Ser. No.13/166,044 filed on Jun. 22, 2011, now U.S. Pat. No. 9,294,647 issued onMar. 22, 2016, which claims priority from Japanese Patent ApplicationsNo. 2010-147430 filed on Jun. 29, 2010, No. 2010-161018 filed on Jul.15, 2010, and No. 2011-067254 filed on Mar. 25, 2011. The entirecontents of the above noted applications are incorporated herein byreference.

TECHNICAL FIELD

The present invention relates to a data processing apparatus.

BACKGROUND

Conventionally, a personal computer (PC) or other such computer has beenused to control devices such as printers and multifunction peripheralspossessing a printer function, scanner function, and the like. In orderto use these devices through a computer, it has been necessary first toinstall a driver on the computer for each type of device beingcontrolled. After installing a driver on the computer, the user performsoperations to store information in the computer regarding the devicebeing controlled by the driver.

SUMMARY

However, when the device has a plurality of functions for executing aplurality of types of processes, it has been necessary for the user tostore information on the device for each type of process performedthereby, resulting in complex user operations.

In view of the foregoing, it is an object of the present invention toprovide a data-processing apparatus, data-processing program, anddata-processing method capable of reducing the number of user operationsrequired for storing information regarding device for each type ofprocess performed by the device.

In order to attain the above and other objects, the invention provides anon-transitory computer-readable storage medium storing a set ofinstructions executed by a computer of a data processing apparatus. Thedata processing apparatus includes an operating unit, a storage unit,and a communication unit. The instructions cause the data processingapparatus to: receive, through the operating unit, a selection of one ofa first function and a second function other than the first function;store, if one device is selected through the operating unit as a devicefor executing the one of the first function and the second function fromamong at least one device with which the communication unit is capableof communicating, the one device selected as the device for executingthe one of the first function and the second function, the one deviceselected as the device for executing the one of the first function andthe second function being stored in a manner such that: if anotherdevice has been stored in the storage unit in correlation with the oneof the first function and the second function, the one device selectedas the device for executing the one of the first function and the secondfunction, in addition to the another device that has been stored incorrelation with the one of the first function and the second function,is stored in correlation with the one of the first function and thesecond function; and if another device has been stored in the storageunit in correlation with another of the first function and the secondfunction, the one device selected as the device for executing the one ofthe first function and the second function, in addition to the anotherdevice that has been stored in correlation with the another of the firstfunction and the second function, is stored in correlation with theanother of the first function and the second function; and control, inresponse to receipt of an instruction to execute the one of the firstfunction and the second function through the operating unit, a devicewith which the communication unit is capable of communicating to executethe one of the first function and the second function in a manner suchthat: if no device is stored in correlation with the one of the firstfunction and the second function when the selection of one of the firstfunction and the second function is received through the operating unit,the one device selected as the device for executing the one of the firstfunction and the second function executes the one of the first functionand the second function; and if another device has been stored incorrelation with the one of the first function and the second functionwhen the selection of one of the first function and the second functionis received through the operating unit, one of candidate devicesexecutes the one of the first function and the second function, thecandidate devices including at least the another device that has beenstored in correlation with the one of the first function and the secondfunction.

According to another aspect, the present invention provides a dataprocessing apparatus including a storage unit, an operating unit, acommunication unit, and a control device. The control device isconfigured to: receive, through the operating unit, a selection of oneof a first function and a second function other than the first function;store, if one device is selected through the operating unit as a devicefor executing the one of the first function and the second function fromamong at least one device with which the communication unit is capableof communicating, the one device selected as the device for executingthe one of the first function and the second function, the one deviceselected as the device for executing the one of the first function andthe second function being stored in a manner such that: if anotherdevice has been stored in the storage unit in correlation with the oneof the first function and the second function, the one device selectedas the device for executing the one of the first function and the secondfunction, in addition to the another device that has been stored incorrelation with the one of the first function and the second function,is stored in correlation with the one of the first function and thesecond function; and if another device has been stored in the storageunit in correlation with another of the first function and the secondfunction, the one device selected as the device for executing the one ofthe first function and the second function, in addition to the anotherdevice that has been stored in correlation with the another of the firstfunction and the second function, is stored in correlation with theanother of the first function and the second function; and control, inresponse to receipt of an instruction to execute the one of the firstfunction and the second function through the operating unit, a devicewith which the communication unit is capable of communicating to executethe one of the first function and the second function in a manner suchthat: if no device is stored in correlation with the one of the firstfunction and the second function when the selection of one of the firstfunction and the second function is received through the operating unit,the one device selected as the device for executing the one of the firstfunction and the second function executes the one of the first functionand the second function; and if another device has been stored incorrelation with the one of the first function and the second functionwhen the selection of one of the first function and the second functionis received through the operating unit, one of candidate devicesexecutes the one of the first function and the second function, thecandidate devices including at least the another device that has beenstored in correlation with the one of the first function and the secondfunction.

According to another aspect, the present invention provides a terminaldevice comprises the data processing apparatus described above.

BRIEF DESCRIPTION OF THE DRAWINGS

The particular features and advantages of the invention as well as otherobjects will become apparent from the following description taken inconnection with the accompanying drawings, in which:

FIG. 1 is an overall diagram showing a data processing apparatusexecuting a set of instructions stored in a computer-readable storagemedium according to first to sixth embodiments of the invention;

FIG. 2 is a block diagram conceptually illustrating the data processingdevice and devices connected to the data processing apparatus accordingto the first to sixth embodiments;

FIG. 3 is a block diagram showing electrical structure of the dataprocessing apparatus according to the first to sixth embodiments;

FIGS. 4 and 5 are explanatory diagrams illustrating the sequence ofscreens displayed on the data processing apparatus according to thefirst embodiment;

FIG. 6 is a flowchart illustrating steps in a printer registrationprocess executed by the data processing apparatus according to the firstembodiment;

FIGS. 7 and 8 are explanatory diagrams illustrating the sequence ofscreens displayed on a data processing apparatus according to a secondembodiment of the invention;

FIG. 9 is a flowchart illustrating steps in a printer registrationprocess executed by the data processing apparatus according to thesecond embodiment;

FIG. 10 is a flowchart illustrating steps in a printer registrationprocess executed by a data processing apparatus according to a thirdembodiment of the invention;

FIG. 11 is a flowchart illustrating steps in a changing process executedby the data processing apparatus according to the first, second, andthird embodiments;

FIG. 12 is a diagram showing application icons displayed on a dataprocessing apparatus according to a fourth embodiment of the invention;

FIG. 13 is a diagram showing a function selection window displayed onthe data processing apparatus according to the fourth embodiment;

FIGS. 14, 15A, 16A, and 17A are flowcharts illustrating steps in acontrolling process executed by the data processing apparatus accordingto the fourth embodiment;

FIG. 15B is a diagram showing a print command window displayed on thedata processing apparatus according to the fourth embodiment;

FIG. 15C is an explanatory diagram illustrating the content of datastored in the data processing apparatus according to the fourthembodiment;

FIG. 16B is a diagram illustrating a Web page displayed on the dataprocessing apparatus according to the fourth embodiment;

FIG. 17B is a diagram illustrating a scan command window displayed onthe data processing apparatus according to the fourth embodiment;

FIG. 18 is a flowchart illustrating steps in a web print default deviceregistering process performed in S711 of the controlling processexecuted by the data processing apparatus according to the fourthembodiment;

FIG. 19 is a flowchart illustrating steps in a scan default deviceregistering process performed in S712 of the controlling processexecuted by the data processing apparatus according to the fourthembodiment;

FIG. 20A is a flowchart illustrating steps in a photo print defaultdevice registering process performed in S811 of the controlling processexecuted by the data processing apparatus according to the fourthembodiment;

FIG. 20B is a diagram showing a message displayed on the data processingapparatus according to the fourth embodiment;

FIG. 21 is a flowchart illustrating steps in a scan default deviceregistering process performed in S812 of the controlling processexecuted by the data processing apparatus according to the fourthembodiment;

FIG. 22 is a flowchart illustrating steps in a web print default deviceregistering process performed in S909 of the controlling processexecuted by the data processing apparatus according to the fourthembodiment;

FIG. 23 is a flowchart illustrating steps in a photo print defaultdevice registering process performed in S910 of the controlling processexecuted by the data processing apparatus according to the fourthembodiment;

FIG. 24 is a flowchart illustrating steps in a controlling processexecuted by a data processing apparatus according to a fifth embodimentof the invention;

FIG. 25 is a flowchart illustrating steps in a photo print defaultdevice registering process performed in S712 of the controlling processshown in FIG. 15 according to a modification of the fourth embodiment;

FIG. 26 is a flowchart illustrating steps in a part of controllingprocess executed by a data processing apparatus according the sixthembodiment of the invention;

FIG. 27 is a diagram illustrating the content of settings data stored inthe data processing apparatus according to the sixth embodiment;

FIG. 28 is a flowchart illustrating steps in a default device readingprocess performed in S1803 of the controlling process shown in FIG. 26;

FIG. 29 is a flowchart illustrating steps in a settings data readingprocess performed in S1804 of the controlling process shown in FIG. 26;

FIG. 30 is a diagram showing a print command window displayed on thedata processing apparatus according to the sixth embodiment; and

FIG. 31 is a diagram showing settings data stored in a data processingapparatus according to a modification of the sixth embodiment.

DETAILED DESCRIPTION

Next, a first embodiment of the present invention will be describedwhile referring to FIGS. 1 through 6. FIG. 1 shows a portable dataprocessing apparatus 1, such as a mobile phone or a portable terminaldevice. The data processing apparatus 1 has a relatively thin, orflattened, box-shaped case. One side surface of the case constitutes anoperating surface 100 a. The center region of the operating surface 100a constitutes a display area 101. A touch panel 103 is disposed over thedisplay area 101, and an input interface 104 is disposed on theoperating surface 100 a below the display area 101.

(1) General Configuration of Data-Processing System

FIG. 2 is a block diagram conceptually illustrating the data processingapparatus 1, and various devices 2 connected to the data processingapparatus 1. The data processing apparatus 1 is capable of executing adevice control program (a set of instructions causing the dataprocessing apparatus 1 to provide functional units). The data processingapparatus 1 possesses both a telephone function and a wirelesscommunication function and is wirelessly connected to a communicationnetwork 5 via an access point 4 or the like. The devices 2 are alsoconnected to the communication network 5 and, hence, can connect to andcommunicate with the data processing apparatus 1.

The devices 2 connected to the communication network 5 includemultifunction peripherals (MFPs) 2 a and 2 b, printers 2 c and 2 d, andscanners 2 e and 2 f. Of these, the MFP 2 a, the printer 2 c, and thescanners 2 e and 2 f are connected to the access point 4 via thecommunication network 5. By executing a print-and-scan application, thedata processing apparatus 1 can transmit a print request to the MFP 2 aand printer 2 c via the access point 4, or a scan request to the MFP 2 aand the scanners 2 e and 2 f. In other words, the data processingapparatus 1 is capable of using the MFP 2 a, printer 2 c, and scanners 2e and 2 f via the access point 4. As will be described later, the dataprocessing apparatus 1 is also capable of communicating with a basestation 3.

Each of the MFPs 2 a and 2 b possesses a plurality of functions, andspecifically a printer function, scanner function, and copier function.The MFPs 2 a and 2 b may be devices produced by different manufacturersor may be different models produced by the same manufacturer. Theprinters 2 c and 2 d and the scanners 2 e and 2 f are all standalonedevices possessing only a printer function and scanner function,respectively. The devices in each pair may be produced by differentmanufacturers or may be different models produced by the samemanufacturer. In the following description, simply “device 2” will beused to denote any one of these plurality of devices.

(2) Electrical Structure of the Data Processing Apparatus

FIG. 3 is a block diagram showing the overall electrical structure ofthe data processing apparatus 1. The data processing apparatus 1includes a control unit 11, a transmitting/receiving unit 12, a voiceinput/output unit 13, a wireless communication unit 14, a display unit15, an operating unit 16, an imaging unit 17, and a storage unit(memory) 18.

The control unit 11 is configured of an application processor, ROM, RAM,and the like. The application processor controls the components of thedata processing apparatus 1 by executing various programs including thedevice control program stored in the ROM or the storage unit 18. Inaddition to storing various programs, the ROM stores data and the likerequired when the application processor executes the programs. The RAMis used by the application processor as the primary storage device whenexecuting various processes.

The transmitting/receiving unit 12 is configured of an antenna, a radiofrequency (RF) circuit, a baseband processor, and the like. Thetransmitting/receiving unit 12 exchanges audio signals with the basestation 3 (FIG. 2) via the antenna. The transmitting/receiving unit 12is also capable of performing packet-based communications with the basestation 3.

The voice input/output unit 13 is configured of a microphone, speaker,voice-processing circuit, and the like. An audio signal inputted intothe voice input/output unit 13 via the microphone is transmitted to thebase station 3 by the transmitting/receiving unit 12, while an audiosignal received by the transmitting/receiving unit 12 from the basestation 3 is outputted as sound through the speaker.

The wireless communication unit 14 complies with Wi-Fi (registeredtrademark) technology (IEEE 802.11a/1802.11b standards). The wirelesscommunication unit 14 wirelessly connects to the communication network 5via the access point 4 or the like, where the communication network 5may be a local area network (LAN) or the Internet, for example.

The wireless communication unit 14 is not limited to Wi-Fi as itsstandard of wireless communications, provided that the data processingapparatus 1 can be connected wirelessly to the communication network 5.For example, the data processing apparatus 1 may be configured toconnect wirelessly to the communication network 5 according to Bluetooth(registered trademark; IEEE 802.15.1) or infrared wireless optical datacommunications (IrDA). Further, while the data processing apparatus 1 isconnected wirelessly to the communication network 5 in the firstembodiment, the data processing apparatus 1 may also be connected to thecommunication network 5 by a cable.

The display unit 15 is configured of a display device, such as a liquidcrystal display or an organic EL display, a drive circuit for drivingthe display device, and the like. The display unit 15 provides thedisplay area 101 and functions to display images in the display area 101based on image signals received from the control unit 11.

The operating unit 16 is configured of the generally transparent touchpanel 103 that covers the display surface of the display device, acontrol circuit (not shown) for controlling the touch panel 103, and theinput interface 104, which includes various operating buttons. Byoperating the operating unit 16, the user can input telephone numbersand perform various other operations in the application programs.

The touch panel 103 is formed of a transparent member disposed so as tocover the surface of the display area 101 (FIG. 1). In the firstembodiment, the touch panel 103 uses a capacitive technology. Touchingthe touch panel 103 changes the electrostatic capacitance in the touchedarea. When the user touches the touch panel 103 with a finger or thelike, the touch panel 103 inputs an electric signal into the controlunit 11 corresponding to the region whose capacitance changed. Uponreceiving this electric signal from the touch panel 103, the controlunit 11 determines what region of the touch panel 103 was touched basedon the signal. The input interface 104 activates the data processingapparatus 1 when pressed.

The imaging unit 17 includes an area image sensor, an optical system, ananalog front-end unit, and an image processor. The imaging unit 17captures and generates a digital image of a subject.

The storage unit 18 includes flash memory or other nonvolatile memoryused to store various programs and data. Specifically, the storage unit18 stores an operating system (OS), a device control program describedlater, various other application programs (hereinafter simply referredto as “applications”), image data, document data, and the like. As willbe described later in greater detail, the storage unit 18 also storesidentification data identifying the default device to be used for eachfunction controlled by the device control program.

Applications such as the device control program can be downloaded froman external server via the transmitting/receiving unit 12 or wirelesscommunication unit 14. The data processing apparatus 1 may also beprovided with a USB interface and may download applications from anexternal computer via this USB interface.

(3) Device Control Program

The device control program is an application that can control aplurality of functions possessed by the devices 2 (specifically, aprinter function and scanner function). The device control programfunctions as a device driver for implementing processes on the dataprocessing apparatus 1, including a process for controlling a printer toprint an image, and a process for controlling a scanner to acquire animage. The device control program also possesses a plurality of its ownfunctions for implementing such processes on the data processingapparatus 1 as a process for organizing and managing a plurality ofimages in photo albums, a process to load images from the imaging unit17, and a process to transfer images to an e-mail application.

The control unit 11 according to the device control program can controla plurality of types of devices 2. Thus, the user can select a device 2from among one or more devices 2 connected to the communication network5 for executing a printing or scanning operation. For example, if theuser selects a printer (or an MFP possessing a printer function), thedevice control program records the selected printer in the storage unit18. When the user issues a print command, the control unit 11 controlsthe printer registered in the storage unit 18 to print the target imageaccording to the device control program.

Here, the process of “registering” a printer involves acquiringinformation for controlling the selected printer from the printer itself(device data) and writing the acquired device data in a prescribedmemory area of the storage unit 18. The device data specificallyincludes a device name, location data indicating the location of thedevice on the communication network 5 (an IP address, domain name, orthe like), and functional data indicating functions possessed by thedevice.

The functional data includes data indicating whether the devicepossesses a printer function, scanner function, facsimile function, orthe like and more detailed data of each function, such as the papersizes supported by the printer function and the availability of a colorprinting function, duplex printing function, and the like.

The process is similar for scanning an image. Specifically, the controlunit 11 registers the user-selected scanner in the storage unit 18 andcontrols the registered scanner to acquire an image.

In this way, in accordance with the device control program, the controlunit 11 can control both the printer function and scanner function of adevice 2. However, since some of the devices 2 possess only one of theprinter function and scanner function, it is desirable to register thedevices 2 for each function.

(3-1) User Interface for the Device Control Program

Next, an example will be described for the user interface of the devicecontrol program according to the first embodiment when only one devicefor executing a printer function and one device for executing a scannerfunction can be registered on the data processing apparatus 1. When adevice 2 has been registered on the data processing apparatus 1 for theprinter function, the device control program controls this device whenexecuting the printer function. Similarly, when a device 2 has beenregistered on the data processing apparatus 1 for the scanner function,the device control program controls this device when executing thescanner function.

FIGS. 4 and 5 illustrate the sequence of screens displayed on thedisplay unit 15 by the control unit 11 in accordance with the devicecontrol program according to the first embodiment. A screen 31 shown inFIG. 4 is a main menu. The main menu includes three options: “Print fromPhoto Albums” for printing images that are saved in albums, “Print fromCamera” for capturing an image of a desired subject with the imagingunit 17 and directly printing the captured image, and “Scan to CellPhone” for acquiring an image from the scanner. Each of these menu itemsdisplays a new menu when selected. The user can select and display thecorresponding menu by touching the desired option in the screen 31.

A screen 32 is displayed when the user selects the “Print from PhotoAlbums” option in the main menu. As described above, the device controlprogram can organize and manage images in photo albums. In the screen32, the device control program displays a list of those albums. When theuser selects one of the albums displayed in the screen 32, the displaychanges to a screen 33 in which all images included in the selectedalbum are displayed as thumbnail images 33 a (the reference number isnoted for only one of the thumbnail images in FIG. 4).

When the user touches one of the thumbnail images 33 a in the screen 33to select the corresponding image, the display changes to a screen 34 inwhich the selected image is displayed. The screen 34 is also displayedafter the user captures an image with the imaging unit 17 when the“Print from Camera” was selected in the main menu described above. Inthis case, the image captured by the imaging unit 17 is displayed in thescreen 34.

The user can print the displayed image by touching a “Print” button 34 bin the screen 34. Before printing the image, the user can display ascreen 35 by touching a “Settings” button 34 a in the screen 34. Whenthe screen 35 is displayed, the user can register a printer or configureprint options.

The device name of the currently registered printer (“DC123450” in thisexample) is displayed in the screen 34 to the left of the “Settings”button 34 a. In other words, if one of the printers has already beenregistered when displaying the screen 34, the device control programdisplays the device name of the registered printer to the left of the“Settings” button 34 a. If a printer has not yet been registered, adevice name is not displayed in the screen 34. The printer for which thedevice name is displayed in the screen 34 may be a standalone printerpossessing only a printer function or an MFP possessing a printerfunction.

When initially displayed, the screen 35 includes the device name of theregistered printer and the default print options. A device name is notdisplayed when a printer has not yet been registered. If a printer hasnot yet been registered or if the user wishes to change the registeredprinter, the user touches a field 35 a showing the device name in orderto display a screen 36.

When the user touches the field 35 a, the device control programsearches for printers connected to the communication network 5 anddisplays a list of device names for the printers found in this search inthe screen 36. The device control program can perform this search usinga protocol designed to search for devices connected to the communicationnetwork 5, for example.

If the user selects one of the printers displayed in the screen 36, thecontrol unit 11 executes, in accordance with the device control program,a printer registration process described later to register the selectedprinter on the data processing apparatus 1. While this will be describedlater in greater detail, if the printer selected by the user in thescreen 36 is an MFP, the device control program registers this MFP asboth the printer and the scanner in the printer registration process.

After completing the printer registration process, the device controlprogram returns the display to the screen 35 and displays the devicename of the newly registered printer in the field 35 a.

The screen 35 also allows the user to configure print options. In thisexample, the print options include “Document Size” (Photo, Photo 2L, A4,Letter, etc.), “Media Type” (Plain Paper, Transparencies, etc.), and“Color Type” (Color, Grayscale, etc.). If the user selects “DocumentSize,” for example, the device control program displays a screen (notshown) in which the user can select the paper size from among “Photo,”“Photo 2L,” “A4,” “Letter,” and the like.

After registering a printer and/or configuring the print options in thescreen 35, the user touches a “Done” button 35 b to return to the screen34. When the user touches the “Print” button 34 b in the screen 34, thedevice control program (control unit 11) controls the registered printer(i.e., the printer set as the device to be used when executing theprinter function) to print the image (“Photo2” in this example)displayed in the screen 34. At this time, the device control programcontrols the registered printer based on the device data that was storedin the storage unit 18 and the print options that were set in the screen35.

In the process for controlling the printer, the control unit 11generates, in accordance with the device control program, a printcommand based on the image and the print options and outputs this printcommand to the printer. The device control program may also beconfigured to transmit the image and the print options to the printer sothat the printer can generate print data.

FIG. 5 illustrates the sequence of screens displayed when the user hasselected “Scan to Cell Phone” in the main menu of the screen 31. Thedevice control program displays a screen 40 when the user selects “Scanto Cell Phone” in the main menu. The initial display of the screen 40includes the device name of the registered scanner and default scanoptions. A device name is not displayed when a scanner has not yet beenregistered.

As described above, when the printer selected in the screen 36 is anMFP, the same MFP is registered as the scanner in the printerregistration process. In this case, the device name of this MFP isdisplayed in a field 40 a as the device name of the scanner, without theuser having to perform an operation to register the scanner.

However, when a scanner has not yet been registered or when the userwishes to change the registered scanner, the user can select a scanneraccording to the same method described above for selecting a printer.Since the screen used to select a scanner has essentially the sameconfiguration as the screen used for selecting a printer (the screen36), a description of this screen will not be included here.

When the user selects an MFP as the scanner, this MFP is not registeredas the printer when a device 2 has already been registered as theprinter, as shown in the screen 35 (see FIG. 4), because the devicecontrol program of the first embodiment gives priority to a previouslyregistered printer in order that the user does not unintentionallychange the printer when selecting a scanner. However, the device controlprogram may also be configured not to give priority to a previouslyregistered printer and to register the MFP selected as the scanner asboth the scanner and printer.

The user can also configure scan options in the screen 40. In thisexample, the scan options include “Document Size” (Photo, Photo 2L, A4,Letter, etc.), “Color Type” (Color High-Speed, Grayscale High-Speed,Color Low-Speed, Grayscale Low-Speed, etc.), and “Duplex” (Long-Edge,Short-Edge, etc.).

After registering a scanner, configuring the scan options, and settingthe original to be scanned in the scanner, the user touches a “Scan”button 40 b. When the user touches the “Scan” button 40 b, the devicecontrol program controls the registered scanner (i.e., the scanner setas the device to be used when executing the scanner function) to readimages on the original. The device control program performs this controlprocess based on the device data that was written in the storage unit 18and the scan options that were configured in the screen 40. The processfor controlling the scanner involves outputting a command for settingthe speed and resolution for scanning the original based on the scanoptions to the scanner to control the scanner to scan the original.

After the scan is completed, the device control program switches thedisplay to a screen 41 in which an image representing the scannedoriginal (“Image 1” in this example) is displayed. If the user touchesan “Action” button 41 a in the screen 41, the display changes to ascreen 42.

The screen 42 includes a menu with the options “Save to Photo Albums,”“E-mail as JPEG,” and “E-mail as PDF.” If the user selects either“E-mail as JPEG” or “E-mail as PDF,” the device control program displaysan E-mail Creation screen 43 displaying an e-mail message to which theimage, converted into the JPEG format or PDF, is attached. The E-mailCreation screen 43 is displayed by a separate application from thedevice control program.

However, if the user selects “Save to Photo Albums,” the device controlprogram displays a screen (not shown) for selecting a destination albumto which the image will be saved. When the user selects a desired album,the device control program saves the image in the selected album andreturns the display to the screen 41.

(3-2) Printer Registration Process

Next, the printer registration process mentioned above will bedescribed, including the process for searching for printers connected tothe communication network 5.

FIG. 6 is a flowchart illustrating steps in the printer registrationprocess executed by the data processing apparatus of the firstembodiment in accordance with the device control program. The controlunit 11 begins the printer registration process when the user touchesthe field 35 a in the screen 35, as described above.

In S101 the control unit 11 searches for printers (candidate device)connected to the communication network 5. The control unit 11 searchesfor printers by broadcasting data on the communication network 5requesting device data for devices 2 connected to the communicationnetwork 5 and subsequently receives this device data in response. Thecontrol unit 11 stores the received device data in RAM.

A list of device names for devices provided with a controllable printerfunction is hardcoded in the source code of the device control program.Thus, if the device name in the device data acquired above is notincluded in the hardcoded list, the control unit 11 determines that thedevice is a non-controllable printer and deletes the device data forthis device from RAM. Accordingly, the remaining device data stored inRAM denotes printers that the device control program can control. Thelist may be updated via the communication network 5 as new controllabledevices emerge.

In S102 the control unit 11 determines whether or not at least oneprinter has been found (whether device data for one or more devices isstored in RAM). The device control program advances to S103 if noprinters were found on the communication network 5 and advances to S104if one or more printers were found.

In S103 the control unit 11 displays a message on the display unit 15indicating that no printers were found and subsequently ends the printerregistration process.

In S104 the control unit 11 displays a list of device names for printersfound in S101 in the screen 36 based on the device data stored in RAM.In S105 the control unit 11 waits until the user has selected one of theprinters. Here, “select” may be rephrased as “designate,” or“determine,” when the device name for only one printer is displayed.

In S106 the control unit 11 acquires device data for the printerselected by the user in S105 from the data that was stored in RAM inS101. In S107 the control unit 11 determines whether the selectedprinter possesses a scanner function (i.e., whether the device is a MFP)based on this device data. The control unit 11 advances to S108 when theselected printer possesses a scanner function and skips S108 and S109and advances directly to S110 when the printer does not possess ascanner function.

In S108 the control unit 11 determines whether the scanner functionpossessed by the selected printer (the MFP in this case) iscontrollable. For example, a list of device names for devices thatpossess controllable scanner functions can be hardcoded in the sourcecode of the device control program. Thus, the control unit 11 determinesthat the scanner is controllable when the device name included in thedevice data acquired in S106 is in the list and not controllable whenthe device name is not in the list.

This determination is necessary because, even though the device 2possesses a scanner function, the device control program may be unableto control this scanner function since different models of a device mayrequire different control commands, for example. The device controlprogram advances to S109 when determining that the scanner function iscontrollable and skips to S110 when the function is noncontrollable.

In S109 the control unit 11 registers the selected printer (an MFP inthis case) in the data processing apparatus 1 as the device forexecuting the scanner function. Next, the control unit 11 sets theregistered printer as the device to be used for executing the scannerfunction. If the touch panel 103 accepts the instruction to perform thescanner function from a user, the control unit 11 controls the device toperform the scanner function.

In S110 the control unit 11 registers the selected printer (a standaloneprinter or MFP) as the device for executing the printer function. Next,the control unit 11 sets this registered printer as the device to beused for executing the printer function. If the touch panel 103 acceptsthe instruction to perform the print function from the user, the controlunit 11 controls the device to perform the printer function.

(4) Effects of the First Embodiment

In the first embodiment of the present invention described above, whenthe user selects a printer, the control unit 11 according to the devicecontrol program registers this printer not only as the printer forexecuting the printer function, but also as the scanner for executingthe scanner function when the printer possesses a scanner function(i.e., when the printer is an MFP). When the control unit 11 registers adevice possessing both a printer function and a scanner functionseparately for each function, the user need only select the device once.Accordingly, the data processing apparatus 1 according to the devicecontrol program of the first embodiment reduces the operational load onthe user by not requiring the user to select a device for each function.

If a device is an MFP, for example, the user may wish to use this MFPboth as the printer and as the scanner. As an example, there may betimes when the user would like to print an image on the printer,handwrite something on the printed sheet, and then scan the sheet withthe scanner. With the device control program of the first embodiment,the user can register this MFP for each of a plurality of functionssimply by selecting the MFP once. As a result, the user can immediatelyuse each of the plurality of functions possessed by the MFP.

Further, the data processing apparatus 1 according to the firstembodiment registers the printer as the scanner as well, but only whenthe printer possesses a scanner function. Even though the device controlprogram may be able to control a plurality of types of printers, all ofthese printers do not necessarily possess a scanner function. In theexample of the first embodiment, printers 2 c and 2 d are standaloneprinters and do not possess a scanner function. Since the device controlprogram according to the first embodiment registers a printer as thescanner only when the printer possesses a scanner function, it is lesslikely that a selected printer will be registered as the scanner whenthe printer does not possess a scanner function.

When the selected printer possesses a scanner function but the devicecontrol program is unable to control the scanner function of theselected printer, the device control program does not register theselected printer as the device for executing the scanner function,thereby reducing the likelihood of the device control program not beingable to control a registered device in the control process.

Next, a second embodiment of the present invention will be describedwith reference to FIGS. 7 through 9. While the data processing apparatus1 according to the first embodiment described above can register onlyone printer and one scanner, the data processing apparatus 1 accordingto the second embodiment can register a plurality of printers andscanners. In the second embodiment, the device control program sets oneof the registered printers exclusively as the “default printer” (deviceto be used when executing the printer function) and controls the printerset as the default printer to print images. The device control programperforms the same process for the scanner.

FIG. 7 shows the sequence of screens displayed on the display unit 15when the user has selected “Print from Photo Albums” in the secondembodiment. A screen 55 in the second embodiment, which corresponds tothe screen 35 in the first embodiment, includes a field 55 a fordisplaying a device name. The device name displayed in the field 55 a isnot simply the name of a registered printer, but is the device name of aregistered printer set as the default printer. As described above, thedevice control program controls the printer set as the default printerto print images.

The screen 55 also includes a pull-down menu 55 b for selecting thedefault printer. When the user touches the pull-down menu 55 b, a listof device names for registered printers is displayed. By selecting thedevice name for a printer displayed in this list, the user canexclusively set this printer as the default printer. Since this settingis exclusive, the default printer setting is canceled for the printerthat was previously set as the default printer.

FIG. 8 shows the sequence of screens displayed when the user selects“Scan to Cell Phone” in the second embodiment. A screen 50 in the secondembodiment, which corresponds to the screen 40 in the first embodiment,has a field 50 a for displaying a device name. The device name displayedin the field 50 a is not simply the device name of a registered scanner,but is also the device name of a registered scanner that has been set asthe default scanner. As described above, the device control programcontrols the scanner set as the default scanner to read originals.

The screen 50 also includes a pull-down menu 50 b for selecting thedefault scanner. When the user touches the pull-down menu 50 b, thedevice control program displays a list of device names for theregistered scanners. By selecting one of the device names for a scannerdisplayed in the list, the user can exclusively set this scanner as thedefault scanner. Since the setting is exclusive, the default scannersetting for another scanner that had been set previously is canceled.

If the user selects the device name “ABC-0000” for an MFP in the screen36 of FIG. 7 (not shown) during the printer registration processaccording to the second embodiment while “DC123450” for an MFP iscurrently set as the default scanner, then the device control programregisters the MFP “ABC-0000” as a scanner, but does not set this scanneras the default scanner. In this example, the device control programdisplays the MFP “DC123450” in the field 50 a of the screen 50 anddisplays the MFP “ABC-0000” in the pull-down menu 50 b, as illustratedin FIG. 8.

FIG. 9 is a flowchart illustrating steps in the printer registrationprocess according to the second embodiment, wherein steps essentiallyidentical to those described in the first embodiment are designated withthe same step numbers to avoid duplicating description.

In S201 of the process in FIG. 9, the control unit 11 according to thedevice control program determines whether a scanner (or MFP) other thanthe MFP selected in S105 has been set as the default scanner. Thecontrol unit 11 advances to S202 when another scanner has not been setas the default (S201: NO) and advances to S203 when another scanner hasbeen set as the default (S201: YES).

In S202 the control unit 11 registers the selected printer (MFP 2 a or 2b in this case) as a device for executing the scanner function andexclusively sets this printer (MFP 2 a or 2 b in this case) as thedefault scanner.

In S203 the control unit 11 determines whether the number n ofregistered scanners is less than the maximum number N that can beregistered. The control unit 11 advances to S204 when the number n isless than the maximum number N (S203: YES). In S204 the control unit 11registers the selected printer (MFP in this case) as a device forexecuting the scanner function. Here, the printer (MFP) is not set asthe default scanner. Hence, the scanner previously set as the defaultscanner remains the default scanner.

On the other hand, if the control unit 11 determines in S203 that thenumber n of registered scanners has reached the maximum number N thatcan be registered (S203: NO), the control unit 11 does not register thisprinter as a scanner in S204, but skips directly to S205. In S205 thecontrol unit 11 registers the selected printer (a standalone printer 2c, 2 d or MFP 2 a, 2 b) as a device for executing the printer functionand sets this device as the default printer.

According to the second embodiment described above, when registering anew device as a device to be used for executing the scanner function,the control unit 11 does not set this new device to be used as thedefault device for executing the scanner function when a default devicefor the scanner function has already been set. Accordingly, the user cancontinue to use the device previously set as the default device forexecuting the scanner function after registering a new device.

The user can also execute the scanner function on a newly registereddevice by selecting this device in the screen 50 as the default devicefor executing the scanner function.

While the device control program is capable of registering a pluralityof printers in the second embodiment, the device control program mayinstead be configured to register only one printer. In this case, theprocess of S110 described in the first embodiment should be executed inplace of the process described in S205 of the second embodiment.

Next, a third embodiment of the present invention will be described withreference to FIG. 10. The third embodiment is a variation of the secondembodiment. That is, when a selected printer possesses a scannerfunction and the user registers this printer (i.e., MFP) as a scanner,the newly registered scanner is set exclusively as the default scanner,even when another scanner is currently set as the default scanner.

FIG. 10 is a flowchart illustrating steps in the printer registrationprocess according to the third embodiment. The printer registrationprocess according to the third embodiment differs from the secondembodiment only in that the device control program advances to S202 uponreaching a positive determination in S203. By advancing to S202 in thiscase, the device control program sets the printer (i.e., MFP) that wasselected in S105 as the default scanner, even if another scanner iscurrently set as the default scanner. The remainder of the printerregistration process according to the third embodiment is essentiallythe same as the process described in the second embodiment.

According to the third embodiment of the present invention describedabove, the device control program sets a newly registered device as thedefault device for executing the scanner function. When a plurality ofdevices can be registered as a device for executing the scannerfunction, there is a high likelihood that a newly registered device isthe device that the user will wish to use.

By setting a newly registered device as the default device for executingthe scanner function, the control unit 11 according to the thirdembodiment can set a device having a high probability of being thedevice that the user wishes to use as the default device for executingthe scanner function, thereby reducing the operational load on the userfor setting the default device for executing the scanner function when aplurality of devices can be registered for executing the scannerfunction.

Default Devices Changing Process

Next, a changing process for changing the default device will bedescribed with reference to FIG. 11. In the second and third embodimentsdescribed above, the user can change the default printer to any one ofthe registered printers and can change the default scanner to any one ofthe registered scanners.

When the user changes the default printer and the new default printerpossesses a scanner function, the device control program sets thisprinter (i.e., MFP) as the default scanner. More specifically, when theuser has changed the default printer, the control unit 11 determineswhether the new default printer is also registered as a scanner (whetherthere exists a device name in the device data for devices registered forexecuting the scanner function that matches the device name of the newdefault printer). When the device name of the new default printer isregistered as a scanner, the control unit 11 also sets this printer(i.e., MFP) as the default scanner.

FIG. 11 is a flowchart illustrating a process for changing the defaultdevice. The control unit 11 begins this process when the user touchesthe pull-down menu 55 b in the screen 55 (FIG. 7) in accordance with thedevice control program.

In S301 of the process in FIG. 11, the control unit 11 displays a listof the device names for registered printers in a pull-down menu andwaits until the user selects one of the printers from the pull-down menu55 b. In S302 the control unit 11 acquires device data from the storageunit 18 for the selected printer. As described above, the device datafor all registered printers and scanners is stored in the storage unit18.

In S303 the control unit 11 determines whether the device data acquiredin S302 was stored in the storage unit 18 as device data of a device forexecuting the scanner function. In other words, the control unit 11determines whether the printer selected in S301 was registered as ascanner. The control unit 11 advances to S304 when the selected printerwas registered as a scanner and advances to S306 when not registered asa scanner.

In S304 the control unit 11 determines whether another scanner iscurrently set as the default scanner. The control unit 11 advances toS306 if another scanner is currently set as the default scanner andadvances to S305 if another scanner is not set as the default scanner.

In S305 the control unit 11 exclusively sets the printer (i.e., MFP)selected in S301 as the default scanner. In S306 the control unit 11exclusively sets the printer (i.e., standalone printer or MFP) selectedin S301 as the default printer. Subsequently, the process for changingdefault devices ends.

In the changing process, the control unit 11 does not set the printer(i.e., MFP) selected in S301 as the default scanner when another scanneris currently set as the default scanner. However, the control unit 11may be configured to set the printer (i.e., MFP) selected in S301 as thedefault scanner. In this case, it is possible to eliminate thedetermination in S304 of FIG. 11.

According to the process for changing default devices described above,the control unit 11 sets the printer selected in the screen 55 not onlyas the device to be used by default for executing the printer function,but also as the device to be used by default for executing the scannerfunction.

If the device selected by the user from among one or more devicesregistered for one function is set as the device to be used by defaultfor executing that function, it is highly likely that the user will wishto utilize other functions on this device. For example, when a userinstalls a new device and registers this device to be used for executingone function, it is easy to imagine that the user will wish to use thesame device for other functions.

Further, if the user changes working locations, for example, the usermay establish an MFP at the new location as the default printer. In mostcases, the user will also set this MFP as the default scanner in orderto scan images at the new location. In other words, when the userchanges the default printer on a portable terminal device such as thedata processing apparatus 1, it is very likely that the user will setthis printer (i.e., MFP) as the default scanner.

When the user changes the default printer (device to be used forexecuting the printer function) and this new printer possesses a scannerfunction, the device control program can automatically set this printeras the default scanner since it is highly likely that the user will wishto set the printer (i.e., MFP) as the default scanner (device to be usedfor executing the scanner function). Accordingly, the device controlprogram can reduce the operational load on the user for setting theprinter as the default scanner.

While the invention has been described in detail with reference to firstthrough third embodiments thereof, it would be apparent to those skilledin the art that many modifications and variations may be made thereinwithout departing from the spirit of the invention, the scope of whichis defined by the attached claims.

While the first through third embodiments describe the printer functionand scanner function as examples of the plurality of functions, thefunctions are not limited to those in the preferred embodimentsdescribed above. For example, a facsimile function may be one of thefunctions.

While the first through third embodiments give an example of cases inwhich the device control program can control a plurality of types ofdevices, the device control program may be configured to control onlyone specific model of an MFP. When an MFP has been selected from amongone or more models, the device control program may register this MFP asthe device for executing the printer function and as the device forexecuting the scanner function. Since the model is identified in thiscase, the device control program should already know whether the MFPpossesses both a printer function and a scanner function. Accordingly,the device control program may perform registration without determiningwhether the MFP possesses a printer function and a scanner function orwithout determining whether the device control program itself cancontrol these functions.

While the first through third embodiments describe examples forselecting a printer after first selecting an image, the main menu mayalso be provided with such options as “Select Printer” and “Set DefaultPrinter,” for example.

In the first through third embodiments described above, the devicecontrol program registers a printer selected from among printers foundon the network as a scanner when the printer possesses a scannerfunction (i.e., when the printer is an MFP). However, the device controlprogram may also be configured to register a scanner selected from amongscanners found on the network as a printer when the scanner possesses aprinter function (i.e., when the scanner is an MFP).

Next, a fourth embodiment of the present invention will be describedwith reference to FIGS. 12 through 23. Icons for applications stored inthe storage unit 18 are displayed in the display area 101. FIG. 12 showsan example of application icons 61-65 displayed in the display area 101.In this example, icons 61-65 are displayed for a calendar application, aprint-and-scan application, a Web browser application, a photo viewerapplication, and a notepad application. When the user touches a regionin which the icon of a desired application is displayed, the controlunit 11 launches the corresponding application.

FIG. 13 shows a Function Selection window 620 that is displayed in thedisplay area 101 after the print-and-scan application is launched. Afunction describes one use of a device. Hence, the user selects adesired function of the device in the Function Selection window 620.When the control unit 11 receives an electric signal from the touchpanel 103 corresponding to a region in which a function icon isdisplayed, the control unit 11 determines that the user has selected thefunction represented by the icon corresponding to the inputted electricsignal. If the control unit 11 receives an electric signal correspondingto the region in which the “Photo print” icon 621 is displayed, the dataprocessing apparatus 1 executes a process hereinafter referred to as aphoto print process to transmit a print request for printing JPEG,bitmap, GIF, or other image data to a device having a print function,directing the device to perform a printing operation. When the controlunit 11 receives an electric signal corresponding to the region in whichthe “Web print” icon 622 is displayed, the data processing apparatus 1performs a process hereinafter referred to as a Web page print processfor transmitting a print request for printing a Web page to a devicehaving a print function, directing the device to perform a printingoperation. When the control unit 11 receives an electric signalcorresponding to the region in which the “Scan” icon 623 is displayed,the data processing apparatus 1 performs a process hereinafter referredto as a scan process for transmitting a scan request to a device havinga scan function, directing the device to perform a scanning operation.

Next, a control process for controlling various components of the dataprocessing apparatus 1 executed by the control unit 11 according to theprint-and-scan application will be described with reference to FIGS. 14through 23. In S601 of FIG. 14, the control unit 11 determines theapplication selected by the user from among photo print, Web print, andscan based on the electric signal received from the touch panel 103. Thecontrol unit 11 proceeds to branch “1” when photo print was selected(S601: photo print), branch “2” when Web print was selected (S601: Webprint), and branch “3” when scan was selected (S601: scan).

The process performed when proceeding to branch “1” will be describedwith reference to the flowchart in FIG. 15A. In S701 of FIG. 15A thecontrol unit 11 displays a list of thumbnails in the display area 101for image data stored in the storage unit 18. When it is not possible todisplay all of the thumbnails in the display area 101 at one time, thedisplay may be configured so that the user can view all thumbnails byscrolling.

In S702 the control unit 11 determines whether a selection for imagedata was inputted while the thumbnails for image data are displayed inthe display area 101. That is, the control unit 11 determines whether ornot an electric signal corresponding to the region of the touch panel103 in which a thumbnail is displayed was inputted from the touch panel103. When an electric signal corresponding to such a region has beeninputted, the control unit 11 determines that a selection was inputtedfor image data corresponding to the thumbnail displayed in the regioncorresponding to the electric signal. The control unit 11 continues toloop back to S702 and repeat the determination while determining that animage data selection has not been inputted (S702: NO). Once the controlunit 11 determines that an image data selection was inputted (S702:YES), the control unit 11 advances to S703.

In S703 the control unit 11 determines whether identification data isstored in the storage unit 18 identifying the default device forprinting photographs. The photo print default device is preset in orderto reduce the number of operations a user must perform to select adevice when issuing a print request for a photo print process. Whentransmitting a photo print request to a device, the data processingapparatus 1 transmits a packet that includes the IP address of thedevice as the destination address and the IP address of the dataprocessing apparatus 1 as the source address. Next, the control unit 11associates the IP address of the destination device with the modelnumber of this device and stores this association in a memory area A ofthe storage unit 18 that serves to store identification data for thephoto print default device. That is, the control unit 11 registers thedevice as the photo default device by storing the identification datafor the device in correlation with a photo print process. In otherwords, if a photo print request was previously transmitted to a device,the IP address of the device is stored in the memory area A of thestorage unit 18. However, if the data processing apparatus 1 has not yetperformed a photo print process, an IP address for a device used toperform a photo print is not yet stored in the memory area A of thestorage unit 18. The control unit 11 determines whether identificationdata has been stored for the photo print default device based on whetherthe IP address of the device is stored in the memory area A of thestorage unit 18. The control unit 11 advances to S706 when determiningin S703 that identification data has not been stored for a photo printdefault device (S703: NO) and advances to S704 when determining thatidentification data has been stored for a photo print default device(S703: YES).

In S704 the control unit 11 displays a Print Command window in thedisplay area 101 for accepting a print command from the user. FIG. 15Bshows a sample Print Command window 630. The control unit 11 displaysthe model number of the photo print default device in the Print Commandwindow 630 together with icons 700 and 701. The Reselect icon 700 is abutton for issuing a request to reselect the default device. Byselecting the Reselect icon 700, the user can select a different deviceas the default device for photo printing when identification data for adevice is already stored in the storage unit 18 as the default device,and the control unit 11 will store identification data for newlyselected device in the storage unit 18. When the user selects adifferent device as the photo print default device, the control unit 11overwrites the identification data currently stored in the storage unit18 with identification data for the newly selected device. The Printicon 701 is selected to issue a print command.

In S705 the control unit 11 determines whether a request was received toreselect the photo print default device. Specifically, the control unit11 determines whether an electric signal corresponding to the region inwhich the Reselect icon 700 is displayed was inputted from the touchpanel 103. If this electric signal was inputted, the control unit 11determines that a request for reselecting the default device wasreceived. The control unit 11 advances to S706 upon determining that areselect request was received (S705: YES) and advances to S709 upondetermining that a reselect request was not received (S705: NO).

In S706 the control unit 11 displays the model numbers of selectabledevices in the display area 101. More specifically, the control unit 11controls the wireless communication unit 14 to broadcast a packet overthe network 5 to which the data processing apparatus 1 is connectedrequesting devices to return their model numbers and information relatedto the functions they possess. In response, the requested data isreturned from each device connected to the network 5. The wirelesscommunication unit 14 receives a packet from each device that includesthe model number of the device and information related to its functions.The packet received by the wireless communication unit 14 includes theIP address of the device as the source address and the IP address of thedata processing apparatus 1 as the destination address. The control unit11 correlates and stores in the RAM of the control unit 11 the modelnumber, functional information, and IP address of the device received bythe wireless communication unit 14.

FIG. 15C shows an example of data that the control unit 11 stores in theRAM of the control unit 11 in the fourth embodiment. Based on the datastored in RAM, the control unit 11 extracts model numbers for devicesconnected to the data processing apparatus 1 via the network 5 thatpossess a color print function. The control unit 11 displays a list ofthe extracted model numbers in the display area 101 in S706. In thisexample, the control unit 11 displays model numbers for two devices inthe display area 101 since the MFP 2 a (model number: Ink-MFP331) andthe printer 2 c (model number: Laser123) are the only devices thatpossess a color print function, as shown in FIG. 15C. Here, the controlunit 11 is configured to extract only devices possessing a color printfunction since a photo print is normally performed in color.

In S707 the control unit 11 determines whether the user has selected adevice. Specifically, the control unit 11 determines whether the touchpanel 103 has inputted an electric signal corresponding to a region ofthe screen displayed in the display area 101 in S706 in which one of thedevice model numbers is displayed. When an electric signal correspondingto a region in which a device model number is displayed was inputted(S707: YES), the control unit 11 determines that the device having themodel number displayed in the region corresponding to the electricsignal was selected. The control unit 11 advances to S708 upondetermining that a device was selected (S707: YES) and continues torepeat the determination in S707 when determining that no selection hasbeen made (S707: NO).

In S708 the control unit 11 identifies the device selected in S707,i.e., the device having the model number displayed in the regioncorresponding to the electric signal inputted from the touch panel 103.The control unit 11 stores the IP address of the identified device inthe memory area A of the storage unit 18 in correlation with the modelnumber of the device, and displays the Print Command window in thedisplay area 101. In other words, the control unit 11 sets and registersthe selected device as the photo print default device.

In S709 the control unit 11 determines whether a print command wasreceived. Here, the control unit 11 determines whether an electricsignal corresponding to the region in which the Print icon 701 isdisplayed was inputted from the touch panel 103. The control unit 11determines that a print command was inputted when an electric signalcorresponding to the region in which the Print icon 701 is displayed wasinputted from the touch panel 103. The control unit 11 advances to S710upon determining that a print command was inputted (S709: YES) andreturns to S705 upon determining that a print command was not inputted(S709: NO).

In S710 the control unit 11 sets the destination to the IP address readfrom the memory area A of the storage unit 18 and controls the wirelesscommunication unit 14 to transmit a print request (print data) to thephoto print default device for printing the image data selected in S702.In other words, the control unit 11 controls the photo print defaultdevice to print the image data.

In S711 the control unit 11 performs a process to store identificationdata for a Web print default device. This Web print default devicestoring process is a subroutine and will be described here withreference to FIG. 18. In S1001 of FIG. 18, the control unit 11determines whether identification data for a Web print default device iscurrently stored in the storage unit 18. The Web print default device ispreset in order to reduce the number of user operations for selectingdevices when transmitting a print request to perform a Web page printprocess.

As with the photo print default device, a memory area B is allocated inthe storage unit 18 for storing identification data identifying thedefault device for printing Web pages (Web print default device). If aprint request to print a Web page was previously transmitted to adevice, the IP address of that device is already stored in the memoryarea B of the storage unit 18. However, if the data processing apparatus1 has not yet performed a Web page print process, an IP address for adefault device has not yet been stored in the memory area B of thestorage unit 18. Accordingly, in S1001 the control unit 11 determineswhether identification data has been stored for a Web print defaultdevice according to the same method described in S703.

If identification data has not yet been stored for a Web print defaultdevice (S1001: NO), in S1002 the control unit 11 stores theidentification data for the photo print default device in the memoryarea B of the storage unit 18 as identification data for the Web printdefault device. In other words, the control unit 11 extracts the deviceIP address from the memory area A of the storage unit 18 and stores thisIP address in the memory area B of the storage unit 18 in correlationwith the model number of the device. That is, the control unit 11registers the photo print default device as the Web print defaultdevice. Subsequently, the control unit 11 ends the subroutine process.However, if identification data has already been stored for a Web printdefault device (S1001: YES), the control unit 11 ends the subroutineprocess without taking any action.

The control unit 11 stores the IP address of the photo print defaultdevice as identification data for the Web print default device in S1002for the following reason. Normally, a device capable of performing colorprinting is selected as the default device for photo printing. On theother hand, the device selected as the default device for Web pageprinting might be a device capable of performing color printing or adevice capable of only monochrome printing. In other words, the deviceselected as the photo print default device may be regarded assufficiently satisfying the conditions for a Web print default device.

After completing the subroutine in FIG. 18, the control unit 11 advancesto S712 of FIG. 15A and performs another subroutine process for storingidentification data identifying the default device for scans (scandefault device). The scan default device storing process in S712 will bedescribed here with reference to the flowchart in FIG. 19.

In S1101 of FIG. 19, the control unit 11 determines whetheridentification data for a scan default device is currently stored in thestorage unit 18. In other words, the control unit 11 determines whetheror not the scan default device is currently registered. The scan defaultdevice is preset in order to reduce the number of user operations forselecting devices when transmitting a scan request.

As with the photo print default device and the Web print default device,a memory area C is allocated in the storage unit 18 for storingidentification data identifying the default device for scanning pages(scan default device). If a scan request was previously transmitted to adevice, the IP address of that device is already stored in the memoryarea C of the storage unit 18. However, if the data processing apparatus1 has not yet performed a scan process, an IP address for a defaultdevice has not yet been stored in the memory area C of the storage unit18. Accordingly, in S1101 the control unit 11 determines whetheridentification data has been stored for a scan default device accordingto the same method described in S703.

If identification data has not yet been stored for a scan default device(S1101: NO), the control unit 11 advances to S1102. In S1102 the controlunit 11 determines whether the photo print default device is equippedwith a scan function based on data (device information) that was storedin RAM in S706. In other words, the control unit 11 judges whether ornot the photo print default device is suitable for the scanning processbased on the device information. If the device possesses a scan function(S1102: YES), in S1103 the control unit 11 stores the identificationdata for the photo print default device in the storage unit 18 asidentification data for the scan default device. In other words, thecontrol unit 11 extracts the device IP address from the memory area A ofthe storage unit 18 and stores this address in the memory area C of thestorage unit 18 in association with the device model number. That is,the control unit 11 registers the photo print default device as the scandefault device. However, if the photo print default device does notpossess a scan function (S1102: NO), the control unit 11 ends thecurrent subroutine process.

Next, the process performed when the control unit 11 proceeds to branch“2” based on the selection in S601 of FIG. 14 will be described withreference to the flowchart in FIG. 16A. In S801 of FIG. 16A, the controlunit 11 displays the specified Web page in the display area 101. Themethod of displaying the Web page is not an essential component of thepresent invention and will not be described here. FIG. 16B shows asample Web page displayed by the control unit 11 in the display area101. In addition to the Web page, the control unit 11 displays the URLof the Web page and a Print icon 800 in the display area 101. The userselects the Print icon 800 to print the currently displayed Web page.

In S802 the control unit 11 determines whether an instruction to printthe currently displayed Web page is inputted. That is, the control unit11 determines whether an electric signal corresponding to the region ofthe touch panel 103 in which the print icon 800 is displayed wasinputted from the touch panel 103. When an electric signal correspondingto such a region has been inputted, the control unit 11 determines thatan instruction to print the currently displayed Web page was inputted.The control unit 11 continues to loop back to S802 and repeat thedetermination while determining that the instruction to print the Webpage has not been inputted (S802: NO). Once the control unit 11determines that the instruction to print the Web page was inputted(S802: YES), the control unit 11 advances to S803.

In S803 the control unit 11 determines whether identification data isstored in the storage unit 18 identifying the Web print default deviceaccording to the same method described in S703 in order to determinewhether or not the Web print default device is registered. The controlunit 11 advances to S806 when determining in S803 that identificationdata has not been stored for a Web print default device (S803: NO) andadvances to S804 when determining that identification data has beenstored for a Web print default device (S803: YES).

In S804 the control unit 11 displays a Print Command window 630 shown inFIG. 15B in the display area 101 for accepting a print command from theuser.

In S805 the control unit 11 determines whether a request was received toreselect the Web print default device according to the same method ofS705. The control unit 11 advances to S806 upon determining that areselect request was received (S805: YES) and advances to S809 upondetermining that a reselect request was not received (S805: NO).

In S806 the control unit 11 displays the model numbers of selectabledevices in the display area 101 according to the same method of S706,and advances to S807. In S807 the control unit 11 determines whether theuser has selected a device according to the same method of S707. Thecontrol unit 11 advances to S808 upon determining that a device wasselected (S807: YES) and continues to repeat the determination in S807when determining that no selection has been made (S807: NO).

In S808 the control unit 11 identifies the device selected in S807,stores the IP address of the identified device in the memory area B ofthe storage unit 18 in correlation with the model number of the devicein order to register the selected device as Web print default device,and displays the Print Command window in the display area 101 accordingto the same method of S708. Then, the control unit 11 advances to S809.

In S809 the control unit 11 determines whether a print command wasreceived according to the same method of S709. The control unit 11advances to S810 upon determining that a print command was inputted(S809: YES) and returns to S805 upon determining that a print commandwas not inputted (S809: NO).

In S810 the control unit 11 sets the destination to the IP address readfrom the memory area B of the storage unit 18 and controls the wirelesscommunication unit 14 to transmit a print request to the Web printdefault device for printing the Web page selected in S802. In otherwords, the control unit 11 controls the Web print default device toprint the Web page. Then, the control unit 11 advances to S811.

In S811 the control unit 11 performs a photo print default deviceregistering process to store identification data for a photo printdefault device. The photo print device registering process is asubroutine and will be described here with reference to FIG. 20A. InS1201 of FIG. 20A, the control unit 11 determines whether identificationdata for a photo print default device is currently stored in the storageunit 18 according to the same method of S703. If identification data hasnot yet been stored for a photo print default device (S1201: NO), thecontrol unit 11 advances to S1202. However, if identification data hasalready been stored for a photo print default device (S1201: YES), thecontrol unit 11 ends the subroutine process without taking any action.

In S1202 the control unit 11 determines whether the Web print defaultdevice to which the print request was transmitted in S810 is an inkjetprinter based on data previously stored in RAM in S806. The control unit11 advances to S1205 when the Web print default device is an inkjetprinter (S1202: YES) and advances to S1203 when the Web print defaultdevice is not an inkjet printer (S1202: NO).

In S1203 the control unit 11 determines whether the Web print defaultdevice to which the print request was transmitted in S810 is a colorlaser printer based on data previously stored in RAM in S806. Thecontrol unit 11 advances to S1204 when the Web print default device is acolor laser printer (S1203: YES). However, if the Web print defaultdevice is not a color laser printer (S1201: YES), the control unit 11ends the subroutine process.

In S1204 the control unit 11 displays a message querying the userwhether it is OK to store the IP address of the color laser printercorresponding to the Web print default device displayed in the displayarea 101 as identification data for the photo print default device. FIG.20B shows a sample message 1000 displayed in the display area 101 inS1204. If an electric signal corresponding to a region displaying anicon that gives permission (“Yes” icon 1001 in FIG. 20B) was inputtedfrom the touch panel 103, the control unit 11 determines that the userhas given permission to store the IP address for the color laser printer(i.e., the Web print default device) as identification data for thephoto print default device. On the other hand, if an electric signalcorresponding to a region displaying an icon that does not givepermission (“No” icon 1002 in FIG. 20B) was inputted from the touchpanel 103, the control unit 11 determines that the user has not givenpermission to store this IP address as identification data for the photoprint default device.

The control unit 11 advances to S1205 when the user gives permission tostore the IP address of the Web print default device as theidentification data for the photo print default device (S1204: YES), andends the subroutine process when permission was not given (S1204: NO).

In S1205 the control unit 11 stores the identification data for the Webprint default device in the storage unit 18 as identification data forthe photo print default device. In other words, the control unit 11extracts the device IP address from the memory area B of the storageunit 18 and stores this address in the memory area A of the storage unit18 in association with the device model number. Accordingly, the controlunit 11 registers the Web print default device as the photo printdefault device. Then, the control unit 11 ends the current subroutineprocess.

Unlike in the Web print default device registering process described inFIG. 18, in the photo print default device registering process of FIG.20A the control unit 11 first determines whether the Web print defaultdevice meets a certain condition and stores the IP address of this Webprint default device as identification data for the photo print defaultdevice only when the condition is met. The control unit 11 checks thiscondition for the following reason. Ordinarily a Web print defaultdevice must be provided with a monochrome print function at the minimum.Therefore, in S806 of FIG. 16A, the control unit 11 is configured todisplay in the display area 101 all devices possessing a print functionthat are connected to the network. If the control unit 11 were to storethe IP address of the Web print default device unconditionally as theidentification data for the photo print default device in FIG. 20A,there is a chance that the control unit 11 may store the IP address fora device that possesses only a monochrome print function as theidentification data for the photo print default device.

The control unit 11 advances to S812 of FIG. 16A and performs the scandefault device registering process for storing identification dataidentifying the default device for scans (scan default device). Thesubroutine process in S812 will be described here with reference to theflowchart in FIG. 21.

In S1301 of FIG. 21, the control unit 11 determines whetheridentification data for a scan default device is currently stored in thestorage unit 18 according to the same method described in S703. That is,the control unit 11 determines whether or not the scan default device isregistered. If identification data is stored for a scan default device(S1301: YES), the control unit 11 ends this subroutines. Ifidentification data has not yet been stored for a scan default device(S1301: NO), the control unit 11 advances to S1302.

In S1302 the control unit 11 determines whether the Web print defaultdevice is equipped with a scan function based on data that was stored inRAM in S806. If the device possesses a scan function (S1302: YES), inS1303 the control unit 11 stores the identification data for the Webprint default device in the storage unit 18 as identification data forthe scan default device. In other words, the control unit 11 extractsthe device IP address from the memory area B of the storage unit 18 andstores this address in the memory area C of the storage unit 18 inassociation with the device model number. However, if the Web printdefault device does not possess a scan function (S1302: NO), the controlunit 11 ends the current subroutine process.

Next, the process performed when the control unit 11 proceeds to branch“3” based on the selection in S601 of FIG. 14 will be described withreference to the flowchart in FIG. 17A. In S901 of FIG. 17A, the controlunit 11 determines whether or not the identification data for scandefault device, i.e., whether or not the scan default device isregistered according to the same method described in S703. The controlunit 11 advances to S904 when determining in S901 that identificationdata has not been stored for a scan default device (S901: NO) andadvances to S902 when determining that identification data has beenstored for a scan default device (S901: YES).

In S902 the control unit 11 displays a Scan Command window in thedisplay area 101 for transmit a scan request from the user. FIG. 17Bshows a sample Scan Command window. The control unit 11 displays themodel number of the photo print default device in the Print Commandwindow together with icons 900 and 901 (FIG. 17B). The Reselect icon 900is a button for issuing a request to reselect the scan default device.

In S903 the control unit 11 determines whether a request was received toreselect the scan default device according to the same method of S705.The control unit 11 advances to S904 upon determining that a reselectrequest was received (S903: YES) and advances to S907 upon determiningthat a reselect request was not received (S903: NO).

In S904 the control unit 11 displays the model numbers of selectabledevices having the scan function in the display area 101 according tothe same method of S706, and advances to S905.

In S905 the control unit 11 determines whether the user has selected adevice according to the same method of S707. The control unit 11advances to S906 upon determining that a device was selected (S905: YES)and continues to repeat the determination in S905 when determining thatno selection has been made (S905: NO).

In S906 the control unit 11 identifies the device selected in S905,stores the IP address of the identified device in the memory area C ofthe storage unit 18 in correlation with the model number of the device,and displays the Scan Command window in the display area 101 accordingto the same method of S708. Then, the control unit 11 advances to S907.

In S907 the control unit 11 determines whether a scan command totransmit a scan request was received according to the same method ofS709. The control unit 11 advances to S908 upon determining that a scancommand was inputted (S907: YES) and returns to S903 upon determiningthat a scan command was not inputted (S907: NO).

In S908 the control unit 11 sets the destination to the IP address readfrom the memory area C of the storage unit 18 and controls the wirelesscommunication unit 14 to transmit a scan request to the scan defaultdevice having this IP address. In response, the wireless communicationunit 14 receives scan data from the scan default device. In other words,the control unit 11 controls the scan default device to perform thescanning process. The control unit 11 stores the scan data received bythe wireless communication unit 14 in the storage unit 18 or the like.

In S909 the control unit 11 performs a Web print default deviceregistering process to store identification data for a Web print defaultdevice. This process is a subroutine and will be described here withreference to FIG. 22.

In S1401 of FIG. 22, the control unit 11 determines whetheridentification data for a Web print default device is currently storedin the storage unit 18 in order to determine whether or not the Webprint default device is registered according to the same methoddescribed in S703. If identification data has not yet been stored for aWeb print default device (S1401: NO), the control unit 11 determineswhether or not the Web print default device is equipped with a scanfunction in S1402. However, if identification data has already beenstored for a Web print default device (S1401: YES), the control unit 11ends the subroutine process without taking any action.

In S1402 the control unit 11 determines whether the scan default deviceis equipped with a printing function based on data that was stored inRAM in S904. If the device is equipped with a printing function (S1402:YES), in S1403 the control unit 11 stores the identification data forthe scan default device in the storage unit 18 as identification datafor the Web print default device. In other words, the control unit 11registers the scan default device as the Web print default device.However, if the device does not possess a printing function (S1402: NO),the control unit 11 ends the subroutine process without taking anyaction.

The control unit 11 stores identification data for the scan defaultdevice default device as identification data for the Web print defaultdevice in S1403. In other words, the control unit 11 extracts the deviceIP address from the memory area C of the storage unit 18 and stores thisIP address in the memory area B of the storage unit 18 in correlationwith the model number of the device (S1403). Subsequently, the controlunit 11 ends the subroutine process.

After completing the subroutine process in FIG. 22, the control unit 11returns to S910 of FIG. 17A and performs a photo print default deviceregistering process to store identification data for the photo printdefault device. This process is also a subroutine and will be describedhere with reference to FIG. 23. The steps in this subroutine processclosely resemble those in the subroutine process shown in FIG. 20A. Thedifference between these processes is only that the control unit 11determines whether to store identification data for the Web printdefault device as identification data for the photo print default devicein the process of FIG. 20A, whereas the control unit 11 determineswhether to store identification data for the scan default device asidentification data for the photo print default device in the process ofFIG. 23. Accordingly, a detailed description of the process in FIG. 23will not be included here.

After completing the subroutine process in FIG. 23, the control unit 11again returns to the flowchart in FIG. 17A and ends the process of FIG.17A.

With the data processing apparatus 1 according to the fourth embodimentdescribed above, the control unit 11 stores identification data fordefault devices in the storage unit 18 for each available function ofthe data processing apparatus 1, including a photo print, a Web print,and a scan operation. Accordingly, the user can employ a suitable devicefor each function.

Further, after the control unit 11 of the data processing apparatus 1stores identification data for a default device suited to one function,the control unit 11 can store this identification data to identify thedefault device for other functions after determining that the device issuitable for these functions. Thus, the data processing apparatus 1reduces the number of steps that a user must perform in order to storedata for devices suited to each available function.

In a fifth embodiment of the present invention, the data processingapparatus 1 can launch the print-and-scan application while data to behandled in the application has already been specified. The control unit11 determines whether a command has been inputted to launch theprint-and-scan application, either while a Web page is displayed in thedisplay area 101 according to the Web browser application or while imagedata is displayed in the display area 101 according to the photo viewerapplication. An icon is provided in both the Web browser application andthe photo viewer application for inputting a command to launch theprint-and-scan application. When an electric signal corresponding to theregion of the display area 101 in which this icon is displayed isinputted from the touch panel 103, the control unit 11 determines that acommand has been issued to launch the print-and-scan application andbegins a process based on the print-and-scan application.

When starting the controlling process based on the print-and-scanapplication while a Web page is displayed in the display area 101, thecontrol unit 11 reads a URL from a memory area in the RAM of the controlunit 11 used for executing the Web browser application, which URLindicates the location of data on the Internet for the displayed Webpage. The control unit 11 stores this URL in a memory area D (not shown)of RAM that is used when executing the print-and-scan application. Onthe other hand, when the control unit 11 starts the process based on theprint-and-scan application while image data is displayed in the displayarea 101, the control unit 11 reads location data indicating theabsolute path of the displayed image data from a memory area of RAM usedwhen executing the photo viewer application. The control unit 11 storesthis location data in a memory area of RAM used for executing theprint-and-scan application.

Next, the controlling process executed by the control unit 11 accordingto the print-and-scan application for controlling components of the dataprocessing apparatus 1 will be described with reference to FIG. 24. Thisprocess begins when the control unit 11 launches the print-and-scanapplication while executing a process according to the Web browserapplication or the photo viewer application. In S1601 of FIG. 24, thecontrol unit 11 determines whether the data stored in the memory area Dof RAM is location data for image data or a URL. If the stored data is aURL (S1601: URL), the control unit 11 advances to S1612, acquires theWeb page data from the Internet and performs a Web page print process toprint the Web page. If the stored data is location data for image data(S1601: location data for image data), the control unit 11 advances toS1602 and performs a photo print process.

The process in S1602-S1608 is identical to the process in S703-S709described in FIG. 15A and will not be repeated here. In S1609 thecontrol unit 11 sets the destination for a print request to the IPaddress of the photo print default device read from the memory area A ofthe storage unit 18 and controls the wireless communication unit 14 totransmit a print request to this destination for printing the imagespecified by the location data of image data stored in the memory area Dof RAM. The process in S1610-S1611 is identical to the process inS711-S712 described in FIG. 15A and will not be repeated here.

The process in S1612-S1618 is identical to the process in S803-S809described in FIG. 16A and will not be repeated here. In S1619 thecontrol unit 11 sets the destination for a print request to the IPaddress of the Web print default device read from the memory area B ofthe storage unit 18 and controls the wireless communication unit 14 totransmit a print request to this destination for printing the imagespecified by the location data of image data stored in the memory area Dof RAM.

With the data processing apparatus 1 according to the fifth embodimentdescribed above, the control unit 11 can store identification data ofdefault devices suitable for the various data for which output commandsare received. Accordingly, the user can employ a device suited to thetype of data being outputted.

After storing identification data of a default device for one type ofdata, the control unit 11 can store the same identification data toidentify the default devices for other types of data or other functionsafter determining that the device is suitable for the other types ofdata or functions. Hence, the data processing apparatus 1 according tothe fifth embodiment can easily register devices suitable for each typeof data and function through fewer user operations.

The present invention is not limited to the descriptions in the fourthand fifth embodiments; many modifications and variations may be madetherein without departing from the spirit of the invention, the scope ofwhich is defined by the attached claims.

In S706 of FIG. 15A according to the fourth embodiment, data received bythe data processing apparatus 1 related to the device model numbers andfunctions may be configured of data received only from devicespossessing a color print function. More specifically, the control unit11 controls the wireless communication unit 14 to broadcast a packetover the network to which the data processing apparatus 1 is connectedrequesting devices possessing a color print function to return theirmodel numbers and information related to the functions they possess. Inresponse, the requested data is returned only from devices connected tothe network having a color print function. The wireless communicationunit 14 receives data related to the device model number and functionsreturned from only these devices. The control unit 11 stores the modelnumber and functional information received by the wireless communicationunit 14 in RAM. The control unit 11 displays a list in the display area101 of all extracted model numbers for devices stored in RAM. Thisprocess may also be applied to S806 in FIG. 16A, S904 in FIG. 17A, andS1605 and S1615 in FIG. 24 (according to the fifth embodiment).

In the fourth and fifth embodiments described above, the data processingapparatus 1 is configured to issue a request to devices connected to thenetwork for their model number and information related to the functionsthey possess and to receive these model numbers and functionalinformation returned from the devices in response. However, the modelnumbers and functional information for all devices that the dataprocessing apparatus 1 can use when executing the print-and-scanapplication may be preprogrammed in the print-and-scan application. Inthis case, the data processing apparatus 1 may be configured to performthe following process in S706 of FIG. 15A, for example.

That is, the wireless communication unit 14 receives the model numbersof devices connected to the network. The control unit 11 compares themodel numbers of devices preprogrammed in the print-and-scan applicationwith the model numbers received by the wireless communication unit 14for devices connected to the network and extracts all matching modelnumbers. Next, the control unit 11 reads information related to thefunctions of devices having the extracted model numbers from theprint-and-scan application. The control unit 11 stores functionalinformation for devices having the extracted model numbers in RAM inassociation with their model numbers and their IP addresses on thenetwork. The information stored in RAM is identical to that shown inFIG. 15C, as described in the fourth embodiment. Next, the control unit11 extracts the model numbers of devices connected to the network thathave a print function based on the information stored in RAM. Thecontrol unit 11 displays a list of the extracted model numbers in thedisplay area 101.

The model numbers of devices preprogrammed in the print-and-scanapplication need not perfectly match the model numbers of devicesconnected to the network, i.e., the control unit 11 may be configured toextract model numbers showing a partial match. For example, if the modelnumber of a device provided in the print-and-scan application is“Ink-MFP331” while the model number of a device connected to the networkis “Ink-MFP431,” it is clear that the two devices belong to the sameseries, since their model numbers both begin with “Ink-MFP.” Since it islikely that the device “Ink-MFP431” possesses an inkjet color printfunction, scan function, and copy function, the model number for thedevice “Ink-MFP431” may be extracted as a device identical to the devicehaving model number “Ink-MFP331,” which is preprogrammed in theprint-and-scan application.

The model number may be any type of identifier that can distinguishdevices. For example, the model number may be configured of only symbolsand need not include numbers. Further, a device name or other namecapable of distinguishing a device may be used in place of the modelnumber.

When the control unit 11 executes the process in S707 of FIG. 15Aaccording to the fourth embodiment (i.e., after the control unit 11reaching a NO determination in S703 or a YES determination in S705), thecontrol unit 11 may store identification data for the device selected inS707 in RAM. In this case, after executing the process in S707, in thesubsequent process of S711 or S712 the control unit 11 may be configuredto use the device IP address that was stored in RAM in S707 rather thanthe IP address stored in the memory area A of the storage unit 18.Further, the control unit 11 may execute the processes in S711 and S712between steps S707 and S708. Alternatively, the processes in S711 andS712 may be performed between S708 and S709 or between S709 and S710.The same configuration may also be applied to the processes described inFIGS. 16A, 17A, and 24 (fifth embodiment).

In S706 of FIG. 15A, the control unit 11 in the fourth embodiment isconfigured to display in the display area 101 the model numbers of onlythose devices connected to the network that possess a color printingfunction, but the control unit 11 may instead be configured to displayin the display area 101 the model numbers of only those devicespossessing a color inkjet printing function. Similarly, in S806 of FIG.16A the control unit 11 of the fourth embodiment is configured todisplay in the display area 101 the model numbers of only those devicesconnected to the network that possess a printing function, but thecontrol unit 11 may be configured to display model numbers in thedisplay area 101 for only those devices that possess a color printingfunction.

In the process of FIG. 15A, the control unit 11 may be configured toselect the device determined to be most suitable for printingphotographs and to store identification data for this device as thephoto print default device. In this case, the following process may beperformed in place of steps S706 and S707. Specifically, the controlunit 11 controls the wireless communication unit 14 to broadcast apacket over the network to which the data processing apparatus 1 isconnected requesting devices to return their model numbers andinformation related to the functions they possess. In response, therequested data is returned from each device connected to the network.The control unit 11 controls the wireless communication unit 14 toreceive the model number and functional information returned from eachdevice and stores this model number and functional information in RAM.

The control unit 11 selects one device connected to the data processingapparatus 1 via the network that is most suitable for printingphotographs based on the information stored in RAM. The process in S708and subsequent steps may be configured identically to that described inthe fourth embodiment. Some examples of conditions used to determinewhether a device is suitable for photo printing are (1) the possessionof a color inkjet printing function and (2) the ability to usephoto-quality recording paper. Similarly, in the processes of FIGS. 16Aand 17A, the control unit 11 may automatically select a devicebest-suited to printing Web pages and a device best-suited to scanning.

The conditions under which the control unit 11 stores a device as adefault device are not limited to those described in FIGS. 18-19, 20A,and 21-23. For example, it is possible to add such conditions as (1) adevice can be stored as a Web print default device only when the devicecan perform color printing, and (2) a device can be stored as the scandefault device only when the resolution of the scanning function meetsor exceeds a threshold value.

Additionally, the data processing apparatus 1 may be configured to querythe user on whether to record a device as the default device. In thiscase, the data processing apparatus 1 records the device as the defaultdevice only after receiving user authorization.

When a device can be stored as the Web print default device only whencapable of performing color printing, the control unit 11 may perform adetermination in place of that described in S1402 of FIG. 22 fordetermining whether the scan default device possesses a color printingfunction. In this case, the control unit 11 advances to S1403 when thescan default device possesses a color printing function and ends theprocess of FIG. 22 when the scan default device does not possess a colorprinting function.

Similarly, when a device can be stored as the scan default device onlywhen the resolution of the scanning function meets or exceeds athreshold value, the control unit 11 may be configured to perform anadditional step between S1102 and S1103 in FIG. 19 for determiningwhether the scanning resolution meets or exceeds the prescribed value.In this case, the control unit 11 advances to S1103 when the resolutionis at least the prescribed value and ends the process of FIG. 19 whenthe resolution is less than the prescribed value. The same condition forscanning resolution may also be incorporated in the flowchart of FIG.21. In this case, the control unit 11 acquires the resolution of ascanning function as functional information of the devices in S706 ofFIG. 15A and in S806 of FIG. 16A.

In the fourth embodiment, the IP address of a device that was notselected in S705 of FIG. 15A cannot be stored as the identification datafor the Web print default device or the scan default device in FIGS. 18and 19. For example, if the MFP 2 a shown in FIG. 2 was not selected inS707 of FIG. 15A, the IP address of the MFP 2 a is not stored in thememory area C of the storage unit 18 in FIG. 19. However, the dataprocessing apparatus 1 may be configured to be able to store the IPaddress of devices not selected in S705 of FIG. 15A in the memory area Cof the 18 in FIG. 19. In this case, the control unit 11 executes thefollowing process described with reference to FIG. 25 in place of theprocess in FIG. 19.

As in S1101 of FIG. 19, in S1701 of FIG. 25 the control unit 11determines whether identification data for a scan default device iscurrently stored in the storage unit 18. The control unit 11 ends theprocess in FIG. 25 when determining that identification data is storedfor a scan default device (S1701: YES) and advances to S1702 whenidentification data has not been stored for a scan default device(S1701: NO).

In S1702 the control unit 11 determines whether the photo print defaultdevice is equipped with a scan function based on data that was stored inRAM in S706. If the device possesses a scan function (S1702: YES), inS1703 the control unit 11 stores the identification data for the photoprint default device in the storage unit 18 as identification data forthe scan default device. In other words, the control unit 11 extractsthe device IP address from the memory area A of the storage unit 18 andstores this address in the memory area C of the storage unit 18 inassociation with the device model number. However, if the photo printdefault device does not possess a scan function (S1702: NO), the controlunit 11 advances to S1704.

In S1704 the control unit 11 extracts the model numbers of devicesconnected to the network that have a scan function based on data thatwas stored in RAM in S706. The control unit 11 displays a list ofextracted model numbers in the display area 101.

In S1705 the control unit 11 determines whether the user has selected adevice according to the same method of S707. The control unit 11advances to S1706 upon determining that a device was selected (S1705:YES) and continues to repeat the determination in S1705 when determiningthat no selection has been made (S1705: NO).

In S1706 the control unit 11 identifies the device selected in S1705,stores the IP address of the identified device in the memory area C ofthe storage unit 18 in correlation with the model number of the deviceaccording to the same method of S708. Then, the control unit 11 endsthis subroutine process.

Alternatively, in place of steps S1704-S1706 of FIG. 25, the controlunit 11 may be configured to select a single device best-suited forscanning from among the devices connected to the network based on thedata that was stored in RAM in S703. For example, the control unit 11may automatically select the device supporting the highest scanningresolution. This configuration may also be applied to the processesdescribed in FIGS. 18, 20A, and 21-23.

In addition to the photo print function and Web print function, theprint-and-scan application may also include a document print function.In this case, the data processing apparatus 1 stores a document defaultdevice used in a document print function for printing document data,such as .pdf files and .doc files created with an application program.

The types of data and functions made available in the data processingapparatus 1 may be fewer or more numerous than those described in thefourth and fifth embodiments.

The control unit 11 may be configured to execute the processes in S701and S702 of FIG. 15A and the processes in S801 and S802 of FIG. 16Aaccording to an operating system (OS) or other application programspreinstalled on the data processing apparatus 1. With thisconfiguration, in S702 the control unit 11 extracts location data forimage data stored in an area of RAM referenced when executing a processaccording to the OS or other application program and stores thislocation data in an area of RAM used when executing the print-and-scanapplication. The processes in S703 and subsequent steps are identical tothose described in the fourth embodiment. Similarly, in S802 the controlunit 11 extracts the URL stored in an area of RAM that is used when thecontrol unit 11 executes a process according to the OS and stores thisURL in an area of RAM referenced when executing the print-and-scanapplication. The processes in S803 and subsequent steps are identical tothose described in the fourth embodiment.

The data processing apparatus of the present invention may have aconfiguration for connecting to external memory, such as an SD card.Hence, instead of using flash memory, the data processing apparatus maystore various data in the external memory.

When determining whether identification data is stored for a defaultdevice in S703 of FIG. 15A, S803 of FIG. 16A, S901 of FIG. 17A, S1001 ofFIG. 18, S1101 of FIG. 19, S1201 of FIG. 20A, S1301 of FIG. 21, S1401 ofFIG. 22, S1501 of FIG. 23, and S1602 and S1612 of FIG. 24, the controlunit 11 may determine whether identification data was stored or notstored based on whether the data bits of the memory area A, B, or C inthe storage unit 18 are not all set to “0” or are all set to “0”.Further, the control unit 11 may determine whether identification datais stored for the default device based on whether an invalid bit forinvalidating stored identification data has been set. The invalid bit isstored in part of the memory area of the storage unit 18 for storingidentification data (generally the first bit). Alternatively, a flag forinvalidating identification data may be stored in place of the invalidbit in a separate memory area from the area of the storage unit 18 usedfor storing identification data, and the control unit 11 may determinewhether identification data is stored based on this flag.

When the control unit 11 stores identification data for the photo printdefault device in S708, instead of storing the IP address of the devicein the memory area A of the storage unit 18 in association with thedevice model number, the control unit 11 may be configured to performthe following process. That is, the control unit 11 may store dataindicating that the device is a photo print default device and the IPaddress of the device in the storage unit 18 in association with thedevice model number. Consequently, in S710 the control unit 11 reads theIP address of the device from the memory area of the storage unit 18 inwhich the data indicating that the device is a photo print defaultdevice and the device IP address are stored in association with thedevice model number, sets the destination to this IP address, andcontrols the wireless communication unit 14 to transmit a print requestto the photo print default device for printing the image data selectedin S702. The method described above may also be applied to the processesin S808 of FIG. 16A, S906 of FIG. 17A, S1002 of FIG. 18, S1103 of FIG.19, S1205 of FIG. 20A, S1303 of FIG. 21, S1403 of FIG. 22, S1505 of FIG.23, and S1607 and S1617 of FIG. 24.

When the control unit 11 stores identification data of the photo printdefault device in the memory area B of the storage unit 18 asidentification data for the Web print default device in S1002 of FIG.18, the control unit 11 may store information, rather than the IPaddress, giving directions to reference the data stored in the memoryarea A of the storage unit 18. This same format may be applied to theprocesses in S1103 of FIG. 19, S1205 of FIG. 20A, S1303 of FIG. 21,S1403 of FIG. 22, and S1505 of FIG. 23.

The control unit 11 may be configured to store the URL or MAC address ofa device in the memory area A, B, or C of the storage unit 18 in placeof the IP address as identification data for the default device. Whenthe control unit 11 is configured to store a MAC address in the memoryarea A, B, or C, the data processing apparatus 1 transmits a MAC frameinstead of a packet that includes the MAC address of the device as thedestination address and the MAC address of the data processing apparatus1 as the source address. When configured to store a URL in the memoryarea A, B, or C, the control unit 11 may acquire the IP addressassociated with the URL and use this IP address to communicate with thedevice.

In S707 of FIG. 15A, the user may be allowed to select a plurality ofdevices. In such a case, the processes in S707-S710 are implemented asfollows. After a window is displayed in the display area 101 in S706, inS707 the control unit 11 determines whether electric signals have beeninputted a prescribed number of times from the touch panel 103 forregions of the display area 101 in which device model numbers aredisplayed. The control unit 11 determines that selections have beenreceived for devices whose model numbers were displayed in touchedregions when electric signals corresponding to regions displaying modelnumbers have been inputted for the prescribed number of devices. Thecontrol unit 11 advances to S708 when determining that the prescribednumber of devices have been selected (S707: YES) and continues to repeatthe determination in S707 when determining that not all selections havebeen received (S707: NO).

In S708 the control unit 11 stores the IP address for each of theprescribed number of devices selected in S707 in the memory area A ofthe storage unit 18 in correlation with the model number of thecorresponding device. At this time, the control unit 11 may beconfigured to add the identification data for newly selected devices toidentification data already stored in the memory area A of the storageunit 18 rather than overwriting the existing identification data withthe identification data of the newly selected devices. The control unit11 may also set the invalid bit described above in all identificationdata for the photo print default devices stored in the memory area A ofthe storage unit 18. The control unit 11 also displays the Print Commandwindow in the display area 101 in S708. Here, the control unit 11displays in the Print Command window the model numbers of all devicesselected in S707 rather than the model number of the photo print defaultdevice that were stored in the memory area.

In S709 the control unit 11 determines whether a print command wasreceived. Specifically, the control unit 11 determines whether anelectric signal corresponding to a region in the display area 101 inwhich the Print icon 701 for issuing a print command is displayed hasbeen inputted from the touch panel 103. If the touch panel 103 inputtedan electric signal corresponding to the region displaying the Print icon701, the control unit 11 determines that a print command was inputted.Upon determining that a print command was inputted, the control unit 11further determines whether the touch panel 103 has inputted an electricsignal corresponding to a region of the Print Command window in whichone of the plurality of device model numbers is displayed. If thecontrol unit 11 determines that an electric signal corresponding to aregion displaying a model number was inputted (S709: YES), the controlunit 11 determines that the device having the model number displayed inthe region corresponding to the inputted electric signal was selectedand clears the invalid bit set in the identification data for theselected device.

In S710 the control unit 11 controls the wireless communication unit 14to transmit a print request to the device selected in S709 for printingimage data. However, if the control unit 11 determines that a printcommand was not inputted or that a device was not selected (S709: NO),the control unit 11 returns to S705. The remainder of this process isidentical to that described in the fourth embodiment.

Alternatively, the following process may be implemented in S709 andS710. When the touch panel 103 has inputted an electric signalcorresponding to a region displaying the Print icon 701, the controlunit 11 selects the best-suited device for photo printing from theplurality of photo print default devices and clears the invalid bit setin the identification data for the selected device. In S710 the controlunit 11 controls the wireless communication unit 14 to transmit a printrequest for printing image data to the photo print default device whoseinvalid bit was cleared in S709. These methods may also be applied toS807-S810 of FIG. 16A; S905-S908 of FIG. 17A; and S1606-S1609 andS1616-S1619 of FIG. 24.

When the wireless communication unit 14 fails to transmit the printrequest in S710 of FIG. 15A, the control unit 11 may perform thefollowing procedure. First, the control unit 11 determines whethertransmission of the print request failed. When a failure has occurred,the control unit 11 displays an error message in the display area 101together with an “OK” icon. The control unit 11 returns to S704 afterthe touch panel 103 has inputted an electric signal corresponding to theregion of the display area 101 in which the OK icon is displayed. Inthis way, the user may indicate a desire to reselect the photo printdefault device in S705 and can select a desired device in S706 from theavailable devices displayed in the display area 101. This same proceduremay also be applied to the processes in FIGS. 16A, 17A, and 24.

In a sixth embodiment, the data processing apparatus 1 stores a defaultdevice and settings for each of the functions photo print, Web print,and scan. Here, “settings” denotes the values of various options thatcan be set for processes performed using the functions available on adevice. For example, the settings may indicate the paper size, number ofcopies, use of color printing or monochrome printing, and use of duplexprinting.

FIG. 27 conceptually illustrates the structure of a settings datamanagement table. The settings data management table stores the IPaddress, model number, and settings for each device in correlation witheach function possessed by the devices, such as a photo print, Webprint, and scan function. The settings data management table is storedin the storage unit 18. When the control unit 11 first launches theprint-and-scan application on the data processing apparatus 1, no datais stored in the settings data management table. However, when the dataprocessing apparatus 1 executes the print-and-scan application andperforms a process using one of the functions of a device, the controlunit 11 stores the model number, IP address, and settings for thatdevice in the storage unit 18.

Next, a process executed by the control unit 11 for controlling variouscomponents of the data processing apparatus 1 will be described withreference to FIGS. 26, 28, and 29. The following description assumesthat “photo print” was selected in S601 of FIG. 14 (S601: photo print),causing the control unit 11 to proceed to branch “1”.

In S1801 and S1802 at the beginning of the process shown in FIG. 18, thecontrol unit 11 performs the same process described in S701 and S702 ofFIG. 15A in the fourth embodiment. In S1803 the control unit 11 readsthe device from the settings data management table stored in the storageunit 18 that is associated with “photo print.” This process to read thedefault device in S1803 is a subroutine and will be described here withreference to FIG. 28.

In S2001 of FIG. 28 the control unit 11 references the settings datamanagement table to determine whether the IP address and model number ofa device are stored in correlation with “photo print.” The control unit11 advances to S2002 when an IP address and model number have beenstored for a photo print device (S2001: YES) and ends the subroutine andadvances to S1804 of FIG. 26 when such data has not been stored for“photo print” (S2001: NO).

In S2002 the control unit 11 reads the photo print default device. Morespecifically, the control unit 11 reads, as the IP address and modelnumber for the photo print default device, the IP address and modelnumber for the device stored in correlation with “photo print” from thesettings data management table. Subsequently, the control unit 11 endsthe subroutine and advances to S1804 of FIG. 26.

In S1804 of FIG. 26, the control unit 11 reads settings stored in thesettings data management table in association with “photo print.” Theprocess to read settings in S1804 is a subroutine and will be describedhere with reference to FIG. 29. In S2101 at the beginning of thesubroutine in FIG. 29, the control unit 11 references the settings datamanagement table in the storage unit 18 and determines whether settingshave been stored for “photo print.” The control unit 11 advances toS2102 when settings have been stored for “photo print” (S2101: YES) andends the subroutine and advances to S1805 of FIG. 26 when no settingshave been stored (S2101: NO).

In S2102 the control unit 11 reads settings for the photo print process.More specifically, the control unit 11 reads the settings stored in thesettings data management table associated with “photo print.”Subsequently, the control unit 11 ends this subroutine and advances toS1805 of FIG. 26.

In S1805 the control unit 11 determines whether a photo print defaultdevice was read in S1803. The control unit 11 advances to S1806 whendetermining that a photo print default device was read (S1805: YES) andadvances to S1808 when determining that a photo print default device wasnot read (S1805: NO).

In S1806 the control unit 11 displays the Print Command window in thedisplay area 101. FIG. 30 shows a sample Print Command window. The PrintCommand window in FIG. 30 differs from the Print Command window in thefourth embodiment shown in FIG. 15B in two aspects: the addition of aSettings icon 2202 to accompany a Reselect icon 2200 for issuing arequest to reselect a default device, and a Print icon 2201 for issuinga print command; and the addition of settings related to the photo printprocess displayed together with the model number of the photo printdefault device. Hence, when displaying the Print Command window in thedisplay area 101, the control unit 11 displays the settings read inS1804 in the Print Command window. However, if no settings were storedin the settings data management table in association with “photo print”(S2101: NO), the process for reading these settings in S2102 was notperformed. In this case, the control unit 11 reads settings related tothe photo print process that the print-and-scan application haspre-stored in the storage unit 18 as initial values, and displays thesesettings in the Print Command window. These initial values are stored ina region of the storage unit 18 separate from the region that holds thesettings data management table when the print-and-scan application isfirst installed on the data processing apparatus 1. The initial valuesare not overwritten when the data processing apparatus 1 executes theprint-and-scan application.

In S1807 the control unit 11 determines whether a request was receivedto reselect the photo print default device. That is, the control unit 11determines whether the touch panel 103 inputted an electric signalcorresponding to a region in which the Reselect icon 2200 is displayed.The control unit 11 advances to S1808 upon determining that the touchpanel 103 inputted an electric signal corresponding to the regiondisplaying the Reselect icon 2200 (S1807: YES) and advances to S1811upon determining that such an electric signal was not inputted (S1807:NO).

The processes in S1808 and S1809 are identical to S706 and S707 of thefourth embodiment shown in FIG. 15A and will not be described here. InS1810 the control unit 11 stores the IP address and model number of thedevice selected in S1809 in regions of the settings data managementtable allocated for storing the IP address and model number associatedwith “photo print.”

In S1811 the control unit 11 displays a Print Command window similar tothat displayed in S1806 in the display area 101. At this time, thecontrol unit 11 reads the model number and settings for the devicecorresponding to “photo print” from the settings data management tableand displays this data in the Print Command window. When settings havenot been stored in the settings data management table in associationwith “photo print,” the control unit 11 reads the initial values storedfor the photo print process, as was described in S1806, and displaysthese initial values in the Print Command window.

In S1812 the control unit 11 determines whether settings were inputtedaccording to the following process. That is, the control unit 11determines whether an instruction to change a setting was inputted basedon whether the touch panel 103 inputted an electric signal correspondingto a region displaying the Settings icon 2202. Upon determining that acommand was inputted to change the settings, the control unit 11receives input for new settings. The method of receiving input for newsettings is behind the scope of the present invention and will not bedescribed here in detail, but the following method may be employed. Thecontrol unit 11 may display a list of selectable values for each settingoption in the display area 101. When the touch panel 103 inputs anelectric signal corresponding to an area of a displayed value, thecontrol unit 11 determines that the user has inputted the valuedisplayed in the region corresponding to the inputted electric signal.When the control unit 11 determines that a setting value was inputted(S1812: YES), in S1813 the control unit 11 stores the inputted value ina region of the settings data management table associated with “photoprint.” However, the control unit 11 advances to S1815 upon determiningin S1812 that the touch panel 103 has not inputted an electric signalcorresponding to the displayed region of the Settings icon 2202 (S1812:NO).

In S1814 the control unit 11 displays the Print Command window in thedisplay area 101 according to the same process described in S1811.

In S1815 the control unit 11 determines whether a print command wasreceived. Here, the control unit 11 determines whether an electricsignal corresponding to the region in which the “Print” icon 2201 isdisplayed was inputted from the touch panel 103. The control unit 11determines that a print command was inputted when an electric signalcorresponding to the region in which the “Print” icon 2201 is displayedwas inputted from the touch panel 103. The control unit 11 advances toS1816 upon determining that a print command was inputted (S1815: YES)and returns to S1807 upon determining that a print command was notinputted (S1815: NO).

In S1816 the control unit 11 reads the IP address and settingscorresponding to “photo print” from the settings data management table.The control unit 11 controls the wireless communication unit 14 totransmit a request to the photo print default device having the IPaddress read from the settings data management table, requesting thatthe device print the image data selected in S1802 according to thesettings read from the settings data management table. When settingshave not been stored in the settings data management table inassociation with “photo print,” the control unit 11 reads the initialvalues pre-stored in the storage unit 18 for the photo print process andtransmits a request to the photo print default device to print the imagedata according to these initial values.

The subsequent processes in S1817 and S1818 are essentially the same asthose described in S711 and S712 of the fourth embodiment. Only thedifferences between these processes will be described here. In theprocess to store identification data for the Web print default device ofS1817, the regions for storing the IP address and the model number ofthe device correspond to the regions in the settings data managementtable for storing the IP address and model number associated with “Webprint.” Similarly, in the process to store identification data for thescan default device of S1818, the regions for storing the IP address andthe model number of the device correspond to the regions in the settingsdata management table for storing the IP address and model numberassociated with “scan.”

When “Web print” was selected in S601 of FIG. 14, the control unit 11performs the same process described above with reference to FIG. 26, butreplaces S1801, S1802, S1817, and S1818 with S801, S802, S811, and S812of FIG. 16A. In this process, the control unit 11 reads the IP address,model number, and settings for a device from the region of the settingsdata management table corresponding to “Web print.” When storing the IPaddress, model number, and settings for a device in this process, thecontrol unit 11 stores this data in a region of the table correspondingto “Web print.”

When “scan” was selected in S601 of FIG. 14, the control unit 11performs the same process described above with reference to FIG. 26 withthe following modifications. First, the control unit 11 skips S1801 andS1802. Next, the control unit 11 replaces S1817 and S1818 of FIG. 26with S901 and S910 of FIG. 17A. When reading the IP address, modelnumber, and settings for a device from the settings data managementtable, the control unit 11 reads this data from the region of the tablecorresponding to “scan”; and when storing this data for a device, thecontrol unit 11 stores the data in the region of the table correspondingto “scan.” In S1806, S1811, and S1814 of FIG. 26, the control unit 11displays a Scan Command window instead of the Print Command window.

With the data processing apparatus 1 according to the sixth embodimentdescribed above, the control unit 11 stores an IP address and modelnumber in the storage unit 18 for each available function of the dataprocessing apparatus 1, including a photo print, a Web print, and a scanoperation. Accordingly, the user can employ a suitable device for eachfunction.

Further, after the control unit 11 of the data processing apparatus 1stores the IP address and model number for a default device suited toone function, the control unit 11 can store the same data asidentification data for the default device for other functions afterdetermining that the default device is suited for these functions. Thus,the data processing apparatus 1 reduces the number of steps that a usermust perform in order to store data for devices suited to each availablefunction.

Further, when the control unit 11 receives settings for a function, suchas photo print, Web print, or scan (S1812: YES), the control unit 11stores the received settings in the storage unit 18. Hence, the nexttime the user selects the same function, the control unit 11 canconfigure settings using the values read from the settings datamanagement table, without requiring input from the user. This method canreduce the operational load on the user for inputting settings, sincethere is a high probability that the user will specify the same settingsfor each process performed with the same function.

The control unit 11 need not store the model number in the settings datamanagement table, provided that the IP address is stored in the table asthe device identification data.

It is also not necessary to use a table, such as the settings datamanagement table, for storing the IP address, model number, and settingsfor a default device for each of the functions photo print, Web print,and scan. For example, the control unit 11 may store data including thedevice IP address, model number, and settings for each function in aprescribed region of the storage unit 18, as illustrated in FIG. 31. Inthis case, the control unit 11 may store a plurality of configurationsfor the same function or may store only the most recent configuration.The date and time may also be stored together with each configuration,regardless of whether the default devices are stored in a settings datamanagement table.

While a mobile phone is used as an example of the processing apparatusin the first through sixth embodiments described above, the processingapparatus may be a personal computer, portable data terminal, or thelike.

While only a single input interface 104 is provided in the dataprocessing apparatus 1 shown in FIG. 1, the data processing apparatus 1may be provided with a plurality of input interfaces 104 instead. Inthis case, where it is described in the first through sixth embodimentsthat the control unit 11 receives an electric signal from the touchpanel 103, the control unit 11 may be configured to receive electricsignals inputted from the plurality of input interfaces 104. Further,the functions of the touch panel 103 and input interfaces 104 may becombined.

The data processing apparatus 1 may be configured to communicate withdevices through cables rather than wirelessly.

The devices 2 connected to the data processing apparatus 1 are notlimited to the MFPs 2 a and 2 b, printers 2 c and 2 d, and scanners 2 eand 2 f shown in FIG. 2, provided that there are at least devices thatpossess a print function and a scan function.

The devices 2 may communicate with the access point 4 either throughcables or wirelessly. Alternatively, the devices 2 may communicatedirectly with the data processing apparatus 1 rather than through theaccess point 4. In this case, the devices 2 may communicate with thedata processing apparatus 1 either through cables or wirelessly.

Further, the process for prompting the user to select one of the devices(specifically, the processes in S104-S105 of FIGS. 6, 9, and 10;S706-S707 of FIG. 15A; S805-S807 of FIG. 16A; S904-S905 of FIG. 17A;S1605-S1606 and S1615-1616 of FIG. 24; S1704-S1705 of FIG. 25; andS1808-S1809 of FIG. 26) can be rewritten as a process for prompting theuser to specify a device. In other words, rather than displaying aplurality of devices as selections and prompting the user to choose oneof the selections, the data processing apparatus may prompt the user toinput a specific device without displaying any selections, for example.In other words, the user is asked to directly input information thatuniquely identifies a desired device, such as the device name or IPaddress.

What is claimed is:
 1. A non-transitory computer-readable storage mediumstoring a set of program instructions installed on and executed by acomputer of a data processing apparatus for controlling a deviceexecuting a first function and a second function, the data processingapparatus including an input interface, a storage, and a display, theset of program instructions, when executed, causing the data processingapparatus to manage a plurality of device driving instructions: receive,through the input interface, a first function selection of one of thefirst function and the second function; receive, through the inputinterface, a selection of one device for executing the selected one ofthe first function and the second function, the one device having devicedata; store the device data of the one device in the storage, the onedevice corresponding to a first set of one or more device drivinginstructions of the plurality of device driving instructions; and afterthe device data of the one device is stored in the storage: receive,through the input interface, a second function selection of one of thefirst function and the second function; select, from a plurality ofdevices corresponding to the plurality of device driving instructions, aset of one or more candidate devices having the one of the firstfunction and the second function selected in the second functionselection; determine whether the first function selection matches thesecond function selection; in a case where the first function selectionis the same as the second function selection, and a selection of the onedevice or a first other device, different from the one device, forexecuting the one of the first function and the second function selectedin the first and second function selections is not received, display theone device stored in the storage on the display as a candidate devicefor executing the one of the first function and the second functionselected in the first and second function selections; and in a casewhere the first function selection is different from the second functionselection, and a selection of the one device or a second other device,different from the one device, for executing the one of the firstfunction and the second function selected in the second functionselection is not received, display the one device stored in the storageon the display as a candidate device for executing the one of the firstfunction and the second function selected in the second functionselection.
 2. The non-transitory computer-readable storage mediumaccording to claim 1, wherein the set of program instructions furthercause the data processing apparatus to: store the one device forexecuting the one of the first function and the second function selectedin the first function selection as both of a first default device forexecuting the one of the first function and the second function selectedin the first function selection and a second default device forexecuting the one of the first function and the second function selectedin the second function selection.
 3. The non-transitorycomputer-readable storage medium according to claim 1, wherein the setof program instructions further cause the data processing apparatus to:control a plurality of types of devices; search for the one device or athird device, different from the one device, for executing the one ofthe first function and the second function selected in the firstfunction selection among the plurality of types of devices; and receivethe searched device as the candidate device for executing the one of thefirst function and the second function selected in the first functionselection.
 4. The non-transitory computer-readable storage mediumaccording to claim 1, wherein the set of program instructions furthercause the data processing apparatus to: receive, through the inputinterface, a selection of one setting value for executing the one of thefirst function and the second function selected in the first functionselection; store the one setting value in correlation with the one ofthe first function and the second function selected in the firstfunction selection in the storage; and control the display in a mannersuch that: after the one setting value is stored in correlation with theone of the first function and the second function selected in the firstfunction selection in the storage, and if the first function selectionmatches the second function selection, and a selection of the onesetting value or another value, different from the one setting value,for executing the one of the first function and the second functionselected in the first and second function selections is not received,the one setting value stored in correlation with the one of the firstfunction and the second function selected in the first and secondfunction selections in the storage is displayed on the display as acandidate setting value for executing the one of the first function andthe second function selected in the first and second functionselections.
 5. The non-transitory computer-readable storage mediumaccording to claim 1, wherein the first function and the second functioncomprise a printer function and a scanner function, respectively, theprinter function being to print photograph data, web data, or documentdata.
 6. A data processing apparatus comprising: an input interface, astorage, a display, and a control device configured to manage aplurality of device driving instructions by: receiving, through theinput interface, a first function selection of one of a first functionand a second function; receiving, through the input interface, aselection of one device for executing the selected one of the firstfunction and the second function, the one device having device data;storing the device data of the one device in the storage, the one devicecorresponding to a first set of one or more device driving instructionsof the plurality of device driving instructions; after the device dataof the one device is stored in the storage: receive, through the inputinterface, a second function selection of one of the first function andthe second function; select, from a plurality of devices correspondingto the plurality of device driving instructions, a set of one or morecandidate devices having the one of the first function and the secondfunction selected in the second function selection; determine whetherthe first function selection matches the second function selection; in acase where the first function selection is the same as the secondfunction selection, and a selection of the one device or a first otherdevice, different from the one device, for executing the one of thefirst function and the second function selected in the first and secondfunction selections is not received, display the one device stored inthe storage on the display as a candidate device for executing the oneof the first function and the second function selected in the first andsecond function selections; and in a case where the first functionselection is different from the second function selection, and aselection of the one device or a second other device, different from theone device, for executing the one of the first function and the secondfunction selected in the second function selection is not received,display the one device stored in the storage on the display as acandidate device for executing the one of the first function and thesecond function selected in the second function selection.
 7. The dataprocessing apparatus according to claim 6, wherein the first functionand the second function comprise a printer function and a scannerfunction, respectively, the printer function being to print photographdata, web data, or document data.
 8. A non-transitory computer-readablestorage medium storing a set of program instructions installed on andexecuted by a computer of a data processing apparatus for controlling adevice executing a first function and a second function, the dataprocessing apparatus including an input interface, a storage, and adisplay, the set of program instructions, when executed, causing thedata processing apparatus to: receive, through the input interface, afirst function selection of one of the first function and the secondfunction; receive, through the input interface, a selection of onedevice for executing the selected one of the first function and thesecond function, the one device having device data; store the devicedata of the one device in the storage; and after the device data of theone device is stored in the storage, receive, through the inputinterface, a second function selection of one of the first function andthe second function; select, from a plurality of devices, a set of oneor more candidate devices having the one of the first function and thesecond function selected in the second function selection; determinewhether the first function selection matches the second functionselection; in a case where the first function selection is the same asthe second function selection, and a selection of the one device or afirst other device, different from the one device, for executing theselected one of the first function and the second function selected inthe first and second function selections is not received, control thedisplay to display the one device stored in the storage on the displayas a candidate device for executing the one of the first function andthe second function selected in the first and second functionselections; and in a case where the first function selection isdifferent from the second function selection, and a selection of the onedevice or a second other device, different from the one device, forexecuting the one of the first function and the second function selectedin the second function is not received, control the display to displaythe one device stored in the storage on the display as a candidatedevice for executing the one of the first function and the secondfunction selected in the second function selection.